Problema: usare la stessa coppia di chiavi privata/pubblica per raggiungere tanti host remoti, passando per host intermedi.
Soluzione: abilitare l’agent-forwarding.
Condizioni:
- La propria chiave privata risiede solo nella propria workstation
- Ogni host che si vuole raggiungere deve avere la chiave pubblica in
~/.ssh/authorized_keys
- Ogni host intermedio deve avere l’agent-forwarding abilitato su tutti gli host che si intende raggiungere da esso
Per abilitare l’agent-forwarding aggiungere al file ~/.ssh/config
Host nomehost ForwardAgent yes
Note:
nomehost
è diverso danomehost.dominio
. In altre parole ssh non tiene conto di eventuali alias DNS per applicare le opzioni del file~/.ssh/config
[verificare se non esiste qualche opzione che modifica questo comportamento].- Ho constatato che sia Gnome che Xfce avviano l’agent. Alla prima connessione Gnome chiede la password della propria chiave privata con una finestra di dialogo, mentre in Xfce è necessario invocare
ssh-add
da terminale.
Per una descrizione dettagliata e illustrata vedere Public Key Access with Agent Forwarding, estratto da An Illustrated Guide to SSH Agent Forwarding.