Il y a peu de temps, j'ai remarqué qu'il y avait trois clés dans mon agent ssh que je ne pouvais pas supprimer. ssh-add -l
a montré trois clés; J'ai couru ssh-add -D
et on m'a dit "Toutes les identités ont été supprimées."; mais un immédiat a ssh-add -l
montré les trois mêmes clés.
Si je me déconnecte puis me reconnecte, les clés sont toujours là. Si je redémarre la machine, les clés sont toujours là. Si je supprime le répertoire du trousseau de clés /tmp
, je ne peux plus me connecter ssh-agent
, mais lors de la déconnexion et de la reconnexion, les clés sont de retour. Ils sont invulnérables.
Les clés sont les miennes, pas celles des autres, pour autant que je sache. Je peux accéder à mes services locaux habituels avec eux. Mais lorsque j'ajoute à nouveau l'une des clés avec ssh-add
, donnant le chemin d'accès à un fichier de clé privée, la nouvelle clé a une apparence différente dans la sortie de ssh-add -l
:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)
par rapport à l'original:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)
Existe-t-il un moyen de rendre raisonnablement compte de ce comportement? Je suppose qu'il y a vraiment deux questions:
Comment les clés ont-elles pu être conservées même lors des redémarrages? Ma connaissance de base de
ssh
suggère que les clés doivent toujours être ajoutées manuellement.Pourquoi
ssh-agent -D
me ment-t-on à propos de la suppression des identités?
Réponses:
Il semble que ce soit un bug. J'ai un comportement similaire dans Ubuntu 10.10. Une recherche Google a trouvé un rapport de bogue pour Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477
Pour supprimer les clés supplémentaires que j'avais affichées, je les ai simplement déplacées hors du répertoire ~ / .ssh.
la source
Vos clés sont stockées sous forme de fichiers dans le répertoire caché: /home/jruser/.ssh/ c'est ainsi qu'elles persistent après les redémarrages. Je suppose que ssh-add -D les supprime de la mémoire, mais lorsque vous redémarrez, ils sont lus dans le répertoire .ssh et vous les avez donc à nouveau.
la source
ssh-add -D
ne les supprime pas de la mémoire. Cela n'a aucun effet.