Je suis nouveau dans les clés ssh. Quelqu'un peut-il expliquer comment le ssh-agent bashet ssh-addfonctionne?
J'ai besoin de comprendre ses internes à l'avenir.
Je suis nouveau dans les clés ssh. Quelqu'un peut-il expliquer comment le ssh-agent bashet ssh-addfonctionne?
J'ai besoin de comprendre ses internes à l'avenir.
Réponses:
Un agent est un programme qui garde vos clés en mémoire afin que vous n'ayez besoin de les déverrouiller qu'une fois , au lieu de chaque fois. ssh-agent le fait pour les clés SSH.
Les méthodes habituelles pour démarrer ssh-agent sont:
eval `ssh-agent`- cela exécute l'agent en arrière-plan et définit les variables d'environnement appropriées pour l' instance de shell actuelle .
( ssh-agent , lorsqu'il est démarré sans arguments, génère des commandes à interpréter par votre shell.)
exec ssh-agent bash- démarre une nouvelle instance du bashshell, remplaçant celle en cours.
(Avec un ou plusieurs arguments, ssh-agent ne produit rien, mais démarre la commande spécifiée: dans ce cas, le bashshell, mais techniquement, cela pourrait être n'importe quoi.)
La deuxième méthode est parfois préférée, car elle tue automatiquement ssh-agent lorsque vous fermez la fenêtre du terminal. (Au démarrage eval, l'agent resterait en cours d'exécution, mais inaccessible.)
Cependant, cela ne démarre qu'un agent vide. Pour le rendre réellement utile, vous devez utiliser ssh-add , qui déverrouille vos clés (généralement ~/.ssh/id_*) et les charge dans l'agent, les rendant accessibles aux connexions ssh ou sftp .
En outre, vous souhaiterez peut-être ajouter des clés au début de la session.
Modifiez votre ~/.bashrcfichier et ajoutez:
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
}
Vérifiez vos clés avec ssh-add -l
Vous pouvez arrêter la session ssh-agent en cours avec ssh-agent -k
Quelque chose à savoir sur ssh-agent et .bashrc est de ne pas charger trop de clés. Le nombre par défaut d'essais pour le démon ssh est limité à 6. Cela peut être modifié /etc/ssh/sshd_configavec la MaxAuthTriesvaleur.
ssh-addavec "&"? Supposez-vous que les fichiers de clés privées ne sont pas protégés?