Come configurare ssh in modo che non venga chiesta la password
È possibile creare una chiave RSA per poter accedere al sito remoto dal tuo account, senza avere bisogno di inserire la password.
Notare che una volta che tutto ciò è configurato, se un estraneo si inserisce nel vostro account avrà accesso anche ai sistemi remoti ai quali avete accesso! Per questo motivo è meglio che questa procedura non sia mai fatta da root.
-
Eseguire
ssh-keygen
sulla tua macchina e premere Invio quando viene chiesta la password.
Verranno generate sia la chiave privata che quella pubblica. Con le vecchie versioni di SSH, le chiavi sarano memorizzate in~/.ssh/identity
e~/.ssh/identity.pub
; con le nuove versioni saranno memorizzate in~/.ssh/id_rsa
e~/.ssh/id_rsa.pub
. -
Successivamente aggiungere il contenuto del file con la chiave
pubblica in
~/.ssh/authorized_keys
sul sito remoto (il file deve essere protetto con permessi 600).
Se si è uno sviluppatore e si vuole accedere ai sistemi di debian.org con questa chiave, è possibile fare in modo che il database degli sviluppatori diffonda la chiave a tutte le macchine. Vedere la documentazione sul gateway LDAP.
Adesso si dovrebbe avere la possibilità di utilizzare ssh per collegarsi al sistema remoto senza che sia richiesta la password.
Importante: Notare che chiunque abbia accesso in lettura
al file con la chiave privata può usarla per avere lo stesso accesso senza
password al sito remoto. Fra queste persone sono incluse coloro che hanno
accesso come root alla vostra macchina locale, di conseguenza se non siete
l'unico amministratore della macchina locale è fortemente raccomandato
proteggere la vostra chiave privata con una passphrase. È possibile
usare ssh-agent
e ssh-add(1)
per inserire la
passphrase della chiave una sola volta e usare la chiave quante volte si
vuole all'interno di una sessione. Si può automatizzare il caricamento di
tutte le chiavi nell'agente aggiungendo le seguenti righe nel file
~/.xsession
:
# se in /etc/X11/Xsession.options è specificato use-ssh-agent # (impostazione predefinita) allora è sufficiente solo la seconda riga # eval ssh-agent ssh-add <nome-del-file-della-chiave-ssh>
Il pacchetto ssh-askpass
deve essere installato per poter
eseguire ssh-add
senza un terminale.