La rete è piena di guide su come utilizzare l’agent di ssh e spesso la grande quantità di informazioni ne complica la comprensione.
Io ne scrissi una su LinuxDesktop un pò di mesi fà e lo scopo, più che altro, era di avere sempre a mia disposizione degli appunti veloci da utilizzare, spero che possa essere utile anche a voi.
Eccola con alcune modifiche sull’originale:
In ambienti sicuri l’accesso alle macchine di produzione, solitamente, avviene passando da una macchina “ponte” situata fuori dalla DMZ o via VPN. 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 utenti. Con ssh e’ possibile automatizzare il processo di autenticazione, vediamo come…
Chiamerò l’host da cui ci si collega “macchina ponte”
– 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!!!”