J'ai configuré ssh-agent sur de nombreuses anciennes installations d'Ubuntu, mais aujourd'hui, avec ma nouvelle configuration Ubuntu 16.04, j'ai réalisé que ssh-add fonctionnait, mais je n'ai jamais configuré mon système pour qu'il exécute ssh-agent!
Edit: Ce n'est pas juste que je ne l'ai pas configuré, il n'est même pas lancé:
ps aux | grep ssh
root 976 0.0 0.0 65520 5384 ? Ss 16:04 0:00 /usr/sbin/sshd -D
user123+ 6121 0.0 0.0 21292 1016 pts/1 S+ 16:50 0:00 grep --color=auto ssh
Comment ssh-add fonctionne-t-il sans ssh-agent? Quelle est cette magie? Je vois qu'un démon gnome-keyring est en cours d'exécution sur mon système, mais open-ssh n'est pas intégré à gnome, n'est-ce pas?
Ubuntu utilise le gnome-keyring-daemon
comme une implémentation alternative (compatible) d'un agent SSH.
Il est installé via le package gnome-keyring
et démarré automatiquement via /etc/xdg/autostart/gnome-keyring-ssh.desktop
.
Vous pouvez voir quel processus est votre agent SSH avec Sudo lsof $SSH_AUTH_SOCK
.
La variable d'environnement SSH_AGENT_LAUNCHER
s'étend au processus qui lance le ssh-agent
.
Sur mon 14.04, par défaut, après le démarrage:
% echo "$SSH_AGENT_LAUNCHER"
upstart
après avoir tué, et unset
- la (les) variable (s), puis reproduire ssh-agent
à nouveau:
% echo "$SSH_AGENT_LAUNCHER"
## Nothing, not being set
Ainsi, au démarrage, le processus init
génère ssh-agent
directement ou indirectement, et la variable d'environnement SSH_AGENT_LAUNCHER
est définie en conséquence.