server

Come configurare l'accesso SSH senza password in Linux

Come configurare l'accesso SSH senza password in Linux

Ssicuro shell o SSH è un noto protocollo di rete open source. Il protocollo viene utilizzato per accedere ad altre macchine in remoto. Quindi, sarebbe facile eseguire una serie di comandi e avviare qualsiasi applicazione sul dispositivo remoto senza problemi senza la necessità di essere vicino alla macchina remota.  Inoltre, il protocollo SSH è molto affidabile e sicuro. Gli utenti dipendono sempre dal protocollo SSH per copiare i file tra due diversi dispositivi.

In genere, per stabilire una connessione SSH con la macchina remota, è necessario inserire il nome utente e la password per la macchina remota. Ma cosa succede se hai bisogno di un metodo più sicuro rispetto all'utilizzo del nome utente e della password in ogni accesso?? Questo potrebbe essere fatto usando una chiave SSH generata dalla macchina client e poi copiata sulla macchina remota. Con piccole configurazioni extra, sarai in grado di accedere in modo sicuro alla macchina remota senza utilizzare ogni volta un nome utente e una password. L'uso di una chiave SSH invece di utilizzare il nome utente e la password in ogni accesso è molto più sicuro; solo la macchina che possiede la chiave SSH corretta può accedere rapidamente.

Oggi ti mostreremo come stabilire una connessione SSH senza dover inserire la password della macchina remota. In genere, l'utilizzo di un accesso senza password può essere utilizzato per trasferire rapidamente file tra varie macchine. Ma prima di iniziare il nostro tutorial, diamo un'occhiata al nostro ambiente.

Preparazione dell'ambiente

Sarebbe meglio se avessi due macchine, il client e le macchine remote. Quasi tutto il lavoro verrà svolto dalla macchina client che verrà utilizzata per connettersi al dispositivo remoto. Entrambi i dispositivi sono Ubuntu con i seguenti IP

Un'altra cosa prima di iniziare, assicurati che entrambe le macchine siano aggiornate usando i seguenti comandi:

sudo apt update sudo apt upgrade

Ora iniziamo la nostra guida.

Configurazione dell'accesso SSH senza password

Passo 1. Dal computer client, assicurati che sia stata generata una chiave SSH prima di utilizzare il comando successivo.

ls -al ~/.ssh/id_*.pub

Dalla macchina client Verifica le chiavi SSH esistenti

Come puoi notare, se non hai precedentemente generato una chiave SSH, riceverai il messaggio "Nessun file o directory". Altrimenti, otterrai rapidamente le chiavi disponibili se esistono.

Passo 2. Poiché in precedenza non hai generato chiavi SSH, è il momento di generare una nuova chiave SSH utilizzando il seguente comando:

ssh-keygen -t rsa -b 4096

Dalla macchina client genera SSH

In genere il comando precedente genererà nuove due chiavi SSH in due file diversi. Entrambi i file sono memorizzati in una directory nascosta denominata ".ssh" nella directory home dell'utente corrente. Puoi trovare una chiave privata memorizzata in un file chiamato id_dsa e un'altra chiave pubblica in un file chiamato id_dsa.pub. Inoltre, ti verrà chiesto di aggiungere una passphrase che viene utilizzata per proteggere le chiavi generate e puoi utilizzarla durante la connessione tramite SSH. Ma puoi premere il "accederepulsante ” per non usarne uno.

Passaggio 3. Ora puoi elencare il contenuto del .ssh per assicurarsi che vengano create entrambe le chiavi.

ls -l /home/tuts/.ssh/

Dalla macchina client verificare che entrambe le chiavi siano state create

Passaggio 4. Inoltre, puoi assicurarti che il file contenga una chiave al suo interno usando il seguente comando:

ssh-keygen -lv

Dall'impronta digitale del display della macchina del cliente

Passaggio 5. Per visualizzare in anteprima il contenuto del file della chiave pubblica.

gatto .ssh/id_rsa.pub

Dalla macchina client Visualizza il contenuto del file chiave SSH

Passaggio 6. Ora dalla macchina remota, assicurati di aver installato SSH. Se non è installato, puoi utilizzare il seguente comando.

sudo apt install ssh

Dalla macchina remota Installa il pacchetto SSH

Passaggio 7. Torna alla macchina client, connettiti alla macchina remota e crea una nuova directory denominata .ssh.

sudo ssh nomeutente_macchina_remota@IP_macchina_remota mkdir -p .ssh

Assicurati di sostituire remote_machine_username con il nome utente reale e remote_machine_IP con l'IP remoto.

Dalla macchina client Crea directory sulla macchina remota

Passaggio 8. Quindi, copiamo dalla macchina client la chiave SSH pubblica generata in precedenza sulla macchina remota. Sarebbe utile se incollassi la chiave pubblica in un file chiamato “chiavi_autorizzate”. Si consiglia vivamente di non modificare il nome del file perché quando si stabilisce una connessione SSH, il primo file che il sistema operativo controllerà è il “chiavi_autorizzate” file. Se il sistema non ha trovato il file, ti verrà chiesto di inserire un nome utente e una password per poter accedere alla macchina remota.

sudo gatto .ssh/id_rsa.pub | ssh nomeutente_macchina_remota@IP_macchina_remota 'gatto >> .ssh/chiavi_autorizzate'

Dalla macchina client, copia la chiave SSH sulla macchina remota

Passaggio 9. Dalla macchina remota, assicurati che la chiave pubblica sia stata copiata con successo con nome authorized_keys.

ls .ssh/ cat .ssh/chiave_autorizzate

Dalla macchina remota Controllare il file della chiave SSH copiato con successo

Passaggio 10. Ora dal computer client, proviamo a stabilire una connessione SSH senza nome utente e password.

ssh nomeutente_macchina_remota@IP_macchina_remota

Dalla macchina client connettersi alla macchina remota

Come puoi notare, non ti verrà chiesto di inserire un nome utente né una password.

Disabilita l'autenticazione della password

Per disabilitare l'autenticazione della password utilizzando la chiave pubblica, innanzitutto è necessario modificare il file di configurazione SSH dalla macchina remota e disabilitare l'opzione di autenticazione della password. Di seguito sono riportati i passaggi per farlo.

Passo 1. Dalla macchina remota, apri il file di configurazione ssh usando il tuo editor preferito.

vi /etc/ssh/sshd_config

Dalla macchina remota Apri il file di configurazione SSH

Passo 2. Scorri fino alla fine del file di configurazione SSH e aggiungi le righe successive per disabilitare l'autenticazione della password:

RSAAuthentication sì PubkeyAuthentication sì PasswordAuthentication no UsePAM no ChallengeResponseAuthentication no

Dalla macchina remota Modifica il file di configurazione SSH

Passaggio 3. Salva ed esci dal tuo file.

Passaggio 4. Infine, riavvia il servizio SSH e prova a stabilire di nuovo una nuova connessione dalla macchina client alla macchina remota.

Dal servizio SSH di riavvio della macchina remota

Questo è tutto! Hai appena imparato a stabilire una connessione SSH senza password. Spero ti sia piaciuto.

Vulkan per utenti Linux
Con ogni nuova generazione di schede grafiche, vediamo gli sviluppatori di giochi spingere i limiti della fedeltà grafica e avvicinarsi di un passo al...
OpenTTD vs Simutrans
Creare la tua simulazione di trasporto può essere divertente, rilassante ed estremamente allettante. Ecco perché devi assicurarti di provare quanti pi...
Tutorial OpenTTD
OpenTTD è uno dei giochi di simulazione aziendale più popolari in circolazione. In questo gioco, devi creare una meravigliosa attività di trasporto. T...