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 delbashshell, sostituendo quella attuale.(Con uno o più argomenti, ssh-agent non restituisce nulla, ma avvia il comando specificato:in questo caso, il
bashshell, 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.