2 minuti
Connettersi con SSH senza password da Linux
Quando ci connettiamo molte volte in continuazione a un server SSH può diventare stressante inserire ogni volta la password. Per fortuna SSH prevede anche altri metodi di autenticazione, come una coppia di chiavi, pubblica e privata.
Generariamo una coppia di chiavi su Linux:
ssh-keygen -t rsa
Diamo invio per selezionare il file suggerito, quindi, al momento di inserire la password inseriamone una che ci ricordiamo, servirà a sbloccare la chiave privata, aggiungendo un ulteriore layer di sicurezza. Può essere lasciata anche vuota, ma è sconsigliato. Copiamo quindi la chiave pubblica sul server:
ssh-copy-id user@server
Ci verrà richiesta la password dell’utente con il quale ci stiamo connettendo al nostro server. Proviamo quindi ad accedere, se l’abbiamo inserita ci verrà chiesta la password per sbloccare la chiave privata:
ssh user@host
Se desideriamo configurare l’accesso con chiavi su più server sarà sufficiente copiare la chiave pubblica con ssh-copy-id user@host
sui vari server.
Se invece abbiamo più client dovremo ripetere l’intera procedura per ognuno di essi.
Problemi?
In alcuni casi la configurazione di default di SSH non prevede l’accesso tramite chiavi di default, sarà sufficiente andare a modificare il file di configurazione di SSH sulla macchina remota: Apriamo il file:
sudo nano /etc/ssh/sshd_config
troviamo le righe seguenti e controlliamo che siano entrambe impostate a “yes”:
RSAAuthentication yes
PubkeyAuthentication yes
Già che ci siamo possiamo impedire l’accesso root via ssh modificando la riga PermitRootLogin
, modificandola così:
PermitRootLogin no
Chiudiamo e salviamo con CTRL+X, S, quindi riavviamo il server SSH con
/etc/init.d/ssh restart
247 parole
2015-07-20 (Ultimo aggiornamento: 2020-06-28)