Un modo molto comodo e sicuro(a patto di seguire alcune regole) per autenticarsi ad un server linux senza usare la password è la crittografia a chiave pubblica.In pratica generiamo una coppia di chiavi pubblica/privata, la chiave pubblica la andiamo ad installare sulle macchine alle quali vogliamo collegarci, mentre la privata la teniamo ben protetta sulla nostra macchina locale, è infatti grazie ad essa che il server ci autentica.

Il primo passo è generare la coppia di chiavi sulla nostra macchina locale con il comando ssh-keygen. Il comando interattivo ci chiede come prima cosa il nome del file della chiave privata (la pubblica sarà il medesimo seguito da .pub) possiamo lasciare il valore di default.
Come seconda cosa ci viene chiesta una passphrase che verrà utilizzata per cifrare la chiave privata.Questa misura di sicurezza serve in caso di compromissione della chiave stessa (furto o smarrimento), chi ne venisse in possesso non potrebbe direttamente utilizzarla senza prima decifrarla, se la passphrase è robusta ci da del ragionevole tempo per sostituire le chiavi pubbliche corrispondenti. La passhprase non è obbligatoria, lasciando bianco il campo la chiave non sarà protetta da nessuna passphrase.

Terminata la generazione delle chiavi vi troviamo con 2 file: id_rsa e id_rsa.pub (A meno di non aver cambiato i nomi di default).
Solitamente i server e i client ssh sono configurati con dei percorsi di default nei quali cercare i file delle chiavi, rinominiamo e spostiamo id_rsa in ~/.ssh/identity e copiamo (usando un canale sicuro) id_rsa.pub su tutti i server ai quali vogliamo collegarci in ~/.ssh/authorized_keys. ~/ rappresenta la home directory dell’utente che usiamo normalmente sul nostro client, sul client e dell’utente che usiamo sul server, sul server.
Controlliamo che su tutti gli hosts i permessi della cartella .ssh siano 700 (oppure rwx——) ed i files identity ed authorized_keys siano 400 (oppure r——–), la maggior parte delle configurazioni di default di ssh ignora i files delle chiavi con permessi troppo elevati.

L’ultima cosa che ci resta da fare è modificare le password di login sui server e renderle molto molto complicate (tanto non le useremo più) oppure meglio ancora disabilitare la login con password, per fare questo sui server in cui volete disattivare la login con password editate il /etc/ssh/sshd_config aggiungendo o modificando 2 direttive:

PasswordAuthentication no
ChallengeResponseAuthentication no

e ricaricate la configurazione con /etc/init.d/sshd reload

Lascia un Commento

Devi aver fatto il login per inviare un commento

Page 1 of 11