GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare le chiavi autorizzate SSH su Ubuntu

SSH, o Secure Shell, è progettato per accedere ai contenuti di l'host remoto per eseguire vari tipi di attività in remoto. SSH non è installato di default su Ubuntu. Dopo l'installazione, SSH può fornire un accesso crittografato e protetto da password al sistema remoto. Il server SSH viene eseguito sull'host remoto e il client SSH viene eseguito sul sistema che effettua la connessione remota. le chiavi_autorizzate Il file è la parte più importante della connessione SSH. Specifica le chiavi utilizzate per autenticare gli utenti a cui è consentito accedere all'host remoto utilizzando l'autenticazione con chiave pubblica. L'uso di questo file per la connessione SSH è stato spiegato in questo tutorial.

requisiti

Il server SSH non è installato per impostazione predefinita su Ubuntu. È necessario installare il pacchetto OpenSSH che funzionerà come server SSH prima di iniziare questo tutorial. Eseguire il comando seguente per installare il server OpenSSH se non è già installato sul sistema.

$ sudo apt install openssh-server

Genera una chiave SSH

Genera le coppie di chiavi SSH per eseguire i comandi sul server remoto. Eseguire il comando seguente per creare la chiave pubblica e la chiave privata. La chiave privata è archiviata sul server remoto e le chiavi pubbliche sono archiviate in modo sicuro nel client.

$ ssh-keygen -t rsa

Dopo aver eseguito il comando precedente, ti verrà chiesto il nome del file in cui verrà salvata la chiave. Premi Invio key per mantenere il nome file della chiave pubblica predefinito, che è id_rsa.pub . Successivamente ti verrà richiesta la password per accedere. Premi di nuovo Invio premere due volte se si desidera mantenere la password vuota. Il seguente output simile viene mostrato dopo aver generato le chiavi.

Crea il file “authorized_keys”

Il file id_rsa.pub contiene la chiave pubblica della connessione SSH, che è archiviata nella cartella ~ / .ssh / dell'host remoto. La macchina client necessita anche della chiave pubblica per connettersi all'host remoto, che verrà copiata nella parte successiva del tutorial. È necessario creare il file authorized_keys nella cartella ~ / .ssh dell'host remoto che contiene la chiave pubblica. Esegui il comando seguente per spostare il file id_rsa.pub nel file ~ / .ssh /authorized_keys.

$ mv ~ / .ssh / id_rsa.pub ~ / .ssh / chiavi_autorizzate

Non riceverai un errore se il file è stato spostato correttamente, come nella figura seguente.

Cambia il file di configurazione

È necessario impostare alcuni parametri di configurazione sul computer server per effettuare la connessione SSH senza password. Esegui il comando seguente per aprire il file sshd_config con l'editor nano per impostare i valori dei parametri richiesti.

$ sudo nano / etc / ssh / sshd_config

Impostare il valore di PasswordAuthentication su no per disabilitare l'opzione della password di testo per la connessione SSH.

N. autenticazione password

Salva e chiudi il file. Esegui il comando seguente per riavviare il servizio SSH.

$ sudo systemctl riavvia ssh

Esegui il comando seguente per impostare i bit di autorizzazione sul file authorized_keys per impedire l'accesso non autorizzato a questo file.

$ chmod 600 ~ / .ssh / chiavi_autorizzate

Copia la chiave pubblica sul computer client

Ora accedi alla macchina client da cui stai eseguendo il comando ssh per stabilire una connessione SSH con l'host remoto. Qui sono stati utilizzati due account utente di Ubuntu per controllare la connessione SSH nel server locale. In questo tutorial, un account utente è stato utilizzato come client e un altro account utente come server.

Esegui il comando seguente per creare una cartella denominata ~ / .ssh sul computer client se non esiste.

$ mkdir ~ / .ssh

Eseguire il comando seguente per copiare la chiave pubblica dall'host remoto nella cartella ~ / .ssh del client.

$ scp [protetto tramite email]:/home/fahmida/.ssh/id_rsa ~ / .ssh /

È necessario fornire la password del nome utente dell'host remoto per copiare la chiave pubblica sul computer client. Otterrai il seguente output se il file è stato copiato correttamente. Il computer client è ora pronto per stabilire la connessione con il computer server tramite il servizio SSH.

Accedi al computer server utilizzando SSH senza password

Ora la chiave pubblica è presente sia sui computer client che su quelli server. Quando il computer client invia la richiesta di connessione al computer server con il comando ssh, il server confronta la chiave pubblica del client con la chiave pubblica del server. Se vengono trovate le corrispondenze, la connessione viene effettuata dal client al server. È possibile connettersi al server o all'host remoto utilizzando il nome host o l'indirizzo IP. Il server locale ha utilizzato questo tutorial per mostrare l'uso della chiave_autorizzata per stabilire la connessione SSH dal computer client al computer server. Un account è stato utilizzato come macchina server su cui è installato il server OpenSSH e un altro account è stato utilizzato qui come macchina client. Eseguire il comando seguente sulla macchina client per connettersi alla macchina server.

$ ssh [email protetta]

Il seguente output apparirà dopo aver eseguito il comando precedente. L'output mostra che il nome utente della macchina client è "yesmin". Il nome utente del computer server è "fahmida". La connessione SSH è stata stabilita correttamente perché il nome utente è cambiato da "yesmin" a "fahmida". È ora possibile accedere al contenuto del computer server senza problemi. Ora, quando l'utente esegue un comando, l'output viene generato in base al computer server.

diploma

L'uso delle chiavi_autorizzate per stabilire la connessione SSH è stato spiegato in questo tutorial basato su localhost. È possibile eseguire la stessa procedura per effettuare la connessione SSH per l'host remoto. Puoi anche utilizzare il comando ssh-copy-id per la connessione SSH al server mostrato in un altro tutorial.


Ubuntu
  1. Come generare chiavi SSH su Ubuntu 18.04

  2. Server SSH Ubuntu 20.04

  3. Come installare e configurare un server NFS su Ubuntu 20.04

  4. Come installare e configurare VNC su Ubuntu 20.04

  5. Come installare e configurare VNC su Ubuntu 18.04

Come installare OpenSSH su Ubuntu 20.04

Come installare il server SSH in Ubuntu 20.04

Come abilitare il server SSH su Ubuntu 22.04

Come installare il server SSH su Ubuntu 18.04 LTS

Come installare il server SSH su Ubuntu 20.04 LTS

Come installare il server SSH su Ubuntu 22.04 LTS