Come impostare l'accesso SSH senza password
Questo articolo ti mostrerà come configurare un accesso SSH senza password in un sistema operativo Linux utilizzando l'autenticazione basata su chiave
SSH viene utilizzato per accedere ai server per eseguire comandi e programmi in remoto. Tuttavia, a volte potresti voler o addirittura dover accedere automaticamente a un server SSH senza inserire nome utente e password.
I due meccanismi più popolari per accedere ai sistemi remoti tramite SSH sono l'autenticazione basata su password e l'autenticazione basata su chiave.
La combinazione di nome utente e password è il metodo di autenticazione più comune per SSH ed è adatto alla maggior parte delle persone. Sfortunatamente, ci sono alcuni rischi per la sicurezza associati all’utilizzo di questo metodo.
D'altra parte, se utilizzi regolarmente SSH per connetterti a server remoti, il metodo di autenticazione basato su chiave è la soluzione migliore per te.
Quindi, puoi SSH senza password? In breve, sì! Ecco come farlo.
Passaggio 1: genera una coppia di chiavi SSH
Devi prima generare una coppia di chiavi SSH sulla macchina su cui stai attualmente lavorando.
Se non sei sicuro di come farlo, ti consiglio di seguire la nostra guida breve e facile da seguire: Genera una coppia di chiavi SSH [con esempi].
Passaggio 2: copiare la chiave pubblica sul server remoto
Per abilitare l'accesso SSH senza password, devi trasferire una copia della tua chiave pubblica SSH al server remoto. Pertanto, devi conoscere le credenziali del tuo server remoto e molti altri dettagli, come nome host/ IP, nome utente, password e numero di porta.
Per trasferire la chiave pubblica al server remoto, utilizzeremo il comando ssh-copy-id
disponibile nella maggior parte delle distribuzioni Linux. Il comando copierà il contenuto della chiave pubblica .ssh/id_rsa.pub
nel file .ssh/authorized_keys
nel sistema remoto.
ssh-copy-id user@remote-host
Ti verrà richiesto di inserire la password del nome utente remoto. Una volta autenticato l'utente, la chiave pubblica verrà automaticamente copiata nel file .ssh/authorized_keys
sul server remoto.
Sul server remoto è possibile verificare il trasferimento della chiave pubblica visualizzando il contenuto del file .ssh/authorized_keys
.
Per ulteriori informazioni sul comando ssh-copy-id
in Linux, consulta la relativa pagina del manuale.
Passaggio 3: accesso SSH senza password
Ora dovresti essere in grado di accedere al server remoto senza che ti venga richiesta una password. Prova ad accedere al tuo server tramite SSH:
ssh username@remote_server
Il sistema dovrebbe registrarti direttamente sul server remoto; non è richiesta alcuna password.
Conclusione
Questo è tutto ciò che serve per configurare un accesso SSH senza password. Quindi, ovviamente, puoi aggiungere la stessa chiave pubblica a più servizi remoti.
Infine, è importante notare che puoi condividere la chiave pubblica (id_rsa.pub
) con chiunque ma non condividere mai la tua chiave privata (id_rsa
) . Solo la chiave pubblica viene copiata sul server.
La chiave privata non dovrebbe mai essere copiata su un'altra macchina perché chiunque abbia la chiave privata sarà in grado di accedere a qualsiasi sistema che abbia la chiave pubblica corrispondente.
Se hai domande o feedback, sentiti libero di lasciare un commento.