SSH senza password

Usare ssh senza digitare la password In ambienti sicuri l’accesso alle macchine di produzione, solitamente, avviene passando da una macchina “ponte” situata fuori dalla DMZ. Cio’ permette agli amministratori di rendere le operazioni di monitoraggio e di gestione molto piu’ semplici e molto piu’ complicate per cracker, hacker e noi poveri sistemisti. Con ssh e’ possibile automatizzare il processo di autenticazione, vediamo come…

– Operazioni preliminari. 1. Generazione della chiave privata e della chiave pubblica. Collegarsi alla macchina ponte

user@ponte# ssh-keygen -t dsa -f ~/.ssh/id_dsa -C “user@ponte”

-t dsa : specifica l’algoritmo da utilizzare per la generazione delle chiavi
-f ~/.ssh/id_dsa: il percorso e il file in cui salvare le chiavi (~ sta per $HOME)
-C “user@ponte” : e’ un commento Questo e’ il risultato del comando:

Generating DSA keys: Key generation complete.
Enter passphrase (empty for no passphrase): !!!! DIGITARE UNA PASSPHRASE !!!!
Enter same passphrase again: !!!! RIDIGITARE LA PASSPHRASE !!!!
Your identification has been saved in ~/.ssh/id_dsa
Your public key is:
1024 35 [really long string] user@hostremoto
Your public key has been saved in ~/.ssh/id_dsa.pub

2. Copia delle chiavi pubbliche sui server remoti Dalla macchina ponte:

user@ponte# cat ~/.ssh/id_dsa.pub | ssh user@host-remoto ‘cat – >> ~/.ssh/authorized_keys’

Idem per la authorized_keys2

user@ponte# cat ~/.ssh/id_dsa.pub | ssh user@host-remoto ‘cat – >> ~/.ssh/authorized_keys2’

5. Configurazione agent. – Inserire le seguenti linee in ~.bashrc (.profile per ksh e cugine)

SSHAGENT=/usr/bin/ssh-agent SSHAGENTARGS=”-s”
if [ -z “$SSH_AUTH_SOCK” -a -x “$SSHAGENT” ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap “kill $SSH_AGENT_PID” 0
fi

– Eseguire ssh-add per aggiungere la chiave all’agent

user@ponte# ssh-add

A questo punto se fate

user@ponte # ssh-add
Enter passphrase for /home/user/.ssh/id_dsa: Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa)

Non vi verrà chiesta la password Sicurezza: La cartella .ssh deve avere permission 700 e i file al suo interno 600

user@ponte# chmod 700 .ssh
user@ponte# chmod 600 .ssh/*

Conservate la chiave privata gelosamente!!!”