Come configurare i_keys autorizzati di ssh su Ubuntu

Come configurare i_keys autorizzati di ssh su Ubuntu
SSH o Secure Shell è progettato per accedere al contenuto dell'host remoto per svolgere diversi tipi di attività in remoto. SSH non è installato su Ubuntu per impostazione predefinita. SSH può fornire l'accesso crittografato protetto da password al sistema remoto dopo l'installazione. Il server SSH viene eseguito sull'host remoto e il client SSH esegue sul sistema che stabilirà la connessione remota. IL autorizzato_keys Il file è la parte più importante della connessione SSH. Specifica le chiavi utilizzate per autenticare gli utenti autorizzati ad accedere all'host remoto utilizzando l'autenticazione a chiave pubblica. Gli usi di questo file per la connessione SSH hanno spiegato in questo tutorial.

Prerequisiti

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

$ sudo apt install OpenSsh-server

Generare una chiave SSH

Genera le coppie di tasti SSH per eseguire i comandi nel server remoto. Esegui il comando seguente per creare la chiave pubblica e la chiave privata. La chiave privata sarà archiviata nel server remoto e le chiavi pubbliche saranno archiviate in modo sicuro nel client.

$ ssh -keygen -t rsa

Dopo aver eseguito il comando sopra, chiederà il nome del file in cui verrà memorizzata la chiave. premi il accedere chiave per mantenere il nome del file predefinito della chiave pubblica che è Id_Rsa.pub. Successivamente, chiederà la password per accedere. Ancora una volta, premere il accedere chiave due volte se si desidera mantenere la password vuota. Il seguente output simile apparirà dopo aver generato i tasti.

Crea il file autorizzato_keys

Id_Rsa.Il file pub contiene la chiave pubblica della connessione SSH memorizzata in ~/.SSH/ cartella dell'host remoto. La macchina client richiederà inoltre la chiave pubblica per connettersi con l'host remoto copiato nella parte successiva del tutorial. Devi creare il file denominato Authorized_keys all'interno del ~/.cartella ssh dell'host remoto che conterrà la chiave pubblica. Esegui il comando seguente per spostare l'Id_RSA.File pub a ~/.file ssh/autorized_keys.

$ mv ~/.SSH/ID_RSA.pub ~/.SSH/AUTORITED_KEYS

Non verrà visualizzato alcun errore se il file viene spostato correttamente, come la seguente immagine.

Modifica il file di configurazione

È necessario impostare alcuni parametri di configurazione nella macchina del server per effettuare la connessione SSH senza alcuna password. Esegui il comando seguente per aprire il file sshd_config utilizzando nano editor per impostare i valori dei parametri necessari.

$ sudo nano/etc/ssh/sshd_config

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

Passwordautenticazione n

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

$ sudo systemctl riavvio ssh

Esegui il comando seguente per impostare i bit di autorizzazione per il file autorizzato_keys per evitare l'accesso non autorizzato di questo file.

$ chmod 600 ~/.SSH/AUTORITED_KEYS

Copia la chiave pubblica nella macchina client

Ora, accedi al computer client da dove eseguirai il comando SSH per effettuare una connessione SSH con l'host remoto. Qui, sono stati utilizzati due account utente di Ubuntu per controllare la connessione SSH nel server locale. Un account utente è stato utilizzato come client e un altro account utente è stato utilizzato come server in questo tutorial.

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

$ mkdir ~/.ssh

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

$ SCP fahmida@fahmida-virtualbox:/home/fahmida/.SSH/ID_RSA ~/.SSH/

È necessario fornire la password del nome utente dell'host remoto per la copia della chiave pubblica alla macchina client. Otterrai il seguente output se il file viene copiato correttamente. La macchina client è ora pronta per stabilire la connessione con la macchina del server utilizzando il servizio SSH.

Accedi alla macchina del server utilizzando SSH senza password

Ora, la chiave pubblica esiste sia nelle macchine client che server. Quando la macchina client invia la richiesta di connessione al computer del server utilizzando il comando SSH, il server corrisponderà alla chiave pubblica del client con la chiave pubblica del server. Se vengono trovate le corrispondenze, la connessione verrà stabilita 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 di Authorized_keys per stabilire la connessione SSH dalla macchina client alla macchina del server. Un account è stato utilizzato come macchina server in cui è installato il server OpenSSH e un altro account è stato utilizzato come macchina client qui. Esegui il comando seguente dalla macchina client per stabilire una connessione con la macchina del server.

$ ssh fahmida@fahmida-virtualbox

Verrà visualizzato il seguente output dopo aver eseguito il comando sopra. L'output mostra che il nome utente della macchina client è "Sì.'Il nome utente della macchina server è' fahmida."La connessione SSH è stata stabilita correttamente perché il nome utente è cambiato in" Fahmida "dal" Yesmin.'Ora, è possibile accedere facilmente al contenuto della macchina del server. Se l'utente esegue qualsiasi comando ora, l'output verrà generato in base alla macchina del server.

Conclusione

L'uso di Authorized_Keys per stabilire la connessione SSH è stato spiegato in questo tutorial utilizzando LocalHost. È possibile seguire lo stesso processo per stabilire la connessione SSH per l'host remoto. È inoltre possibile utilizzare il comando SSH-Copy-ID per effettuare una connessione SSH con il server mostrato in un altro tutorial.