Un agente è un programma che tiene in memoria le tue chiavi in modo che tu debba sbloccarle solo una volta , invece di ogni volta. ssh-agente fa questo per le chiavi SSH.
I soliti metodi per avviare ssh-agent sono:
-
eval `ssh-agent`
– esegue l'agente in background e imposta le variabili di ambiente appropriate per corrente istanza di shell.(agente ssh , quando viene avviato senza argomenti, emette i comandi che devono essere interpretati dalla tua shell.)
-
exec ssh-agent bash
– inizia un nuovo istanza delbash
shell, sostituendo quella attuale.(Con uno o più argomenti, ssh-agent non restituisce nulla, ma avvia il comando specificato:in questo caso, il
bash
shell, ma tecnicamente potrebbe essere qualsiasi cosa.)Il secondo metodo a volte è preferito, poiché uccide automaticamente ssh-agent quando chiudi la finestra del terminale. (Quando inizia con
eval
, l'agente rimarrebbe in esecuzione, ma inaccessibile.)
Tuttavia, questo avvia solo un agente vuoto. Per renderlo davvero utile, devi usare ssh-add , che sblocca le tue chiavi (di solito ~/.ssh/id_*
) e li carica nell'agente, rendendoli accessibili a ssh o sftp connessioni.
Inoltre, potresti voler aggiungere alcune chiavi all'inizio della sessione.
Modifica il tuo ~/.bashrc
file e aggiungi :
ssh-add &>/dev/null || eval `ssh-agent` &>/dev/null # start ssh-agent if not present
[ $? -eq 0 ] && { # ssh-agent has started
ssh-add ~/.ssh/your_private.key1 &>/dev/null # Load key 1
ssh-add ~/.ssh/your_private.key2 &>/dev/null # Load key 2
}
Controlla le tue chiavi con ssh-add -l
Puoi interrompere la sessione ssh-agent corrente con ssh-agent -k
Qualcosa da sapere su ssh-agent e .bashrc è di non caricare troppe chiavi. Il numero predefinito di tentativi per il demone ssh è limitato a 6. Questo può essere modificato in /etc/ssh/sshd_config
con il MaxAuthTries
valore.