Utilizzo chiavi crittografiche con SSH

L'uso delle chiavi con SSH permette di eseguire un login senza dover digitare la password con questi due vantaggi:
1- Sicurezza: si fa a meno di usare le password che possono essere indovinate o rubate.
2- Si possono effetture collegamenti in "batch" e quindi scrivere script che prevedono un collegamento ssh.

1. Generazione sul client delle chiavi pubblica e privata:
[utente_cli@client]$ ssh-keygen -t rsa
(è possibile evitare di digitare la passphrase)

2. Invio della chiave pubblica al server
  [utente_cli@client]$ scp ~/.ssh/id_rsa.pub utente_ser@server:

3. Sul server inserire il contenuto di id_rsa.pub appena trasferito in    /home/utente_ser/.ssh/authorized_keys2:
[utente_ser@server]$ cat id_rsa.pub >> .ssh/authorized_keys2
(Questo comando va eseguito sul server)

Da ora in poi se ci si connette al server partendo dalla shell dell'utente che ha trasmesso la chiave non verrà chiesta la password e funziona l'opzione "-o BatchMode=yes" (necessaria se usiamo il comando in uno script)

NOTA: Se la password viene ancore richiesta, provare a controllare sul server in /etc/ssh/sshd_config l'opzione "StrictModes": inserire    
    StrictModes no
e far ripartire il servizio sshd.
L'opzione a "yes" (default su molte distro) dice al server sshd di non accettare la connessione con la chiave pubblica se la home dell'utente e il file authorized_key hanno permessi diversi da 700 (per la dir) e 640 (per il file). Spesso però sui server le home degli utenti di un certo gruppo sono leggibili dagli utenti appartenenti al gruppo.

Privacy Policy