Comment effacer les entrées de ssh-agent (sous Mac OS X)?

60

J'utilise Mac OS X et il semble qu'après avoir utilisé SSH sur plusieurs machines, en utilisant des fichiers d'identité, mon 'agent-ssh' accumule beaucoup d'identités / clés et en offre parfois trop à une machine distante, Lance-moi avant de te connecter

Déconnexion reçue à partir de 10.12.10.16: 2: Trop d'échecs d'authentification pour cwd

C'est assez évident ce qui se passe, et cette page en parle plus en détail:

Les serveurs SSH vous permettent seulement d'essayer de vous authentifier un certain nombre de fois. Chaque tentative de mot de passe infructueuse, chaque identité de clé publique / clé proposée, etc., échouent dans l'une de ces tentatives. Si votre agent contient beaucoup de clés SSH, vous constaterez peut-être qu'un serveur SSH peut vous expulser avant même de vous permettre de tenter une authentification par mot de passe. Si tel est le cas, il existe quelques solutions de contournement différentes.

Le redémarrage efface l'agent, puis tout fonctionne à nouveau correctement. Je peux également ajouter cette ligne à mon .ssh/configfichier pour le forcer à utiliser l'authentification par mot de passe:

PreferredAuthentications keyboard-interactive,password

Quoi qu'il en soit, j'ai vu la note sur la page à laquelle je faisais référence qui parlait de la suppression de clés de l'agent, mais je ne sais pas si cela s'applique sur un Mac, car elles semblent être effacées après le redémarrage de toute façon.

Existe-t-il un moyen simple d'effacer toutes les clés dans 'ssh-agent' (la même chose qui se produit lors du redémarrage)?

cwd
la source

Réponses:

98

Vos clés SSH ne doivent pas être automatiquement ajoutées à l'agent simplement parce que vous êtes SSH sur un serveur ...

Exécuter ssh-add -lpour répertorier les clés de l'agent, ssh-add -Dpour nettoyer toutes les clés.

Grawity
la source
Peut-être cela a-t-il quelque chose à voir avec la configuration d'OSX? Si je tape ssh-add -lje ne reçois rien. Si je tape, ssh -i ~/keyFileLocation.dsa un@remotehostje reçois une boîte de dialogue contextuelle OS X demandant la phrase secrète. Je le tape dans et ensuite il me connecte. Si je me déconnecte puis tape, ssh-add -lcela me montre l'identité que je viens d'utiliser. Après avoir redémarré l'ordinateur et tapé, ssh-add -lil est à nouveau vide. ssh-add -Da bien fonctionné pour effacer les clés sans redémarrer. Merci!
CWD
Quatre ans plus tard, le problème persiste mais ce correctif fonctionne toujours - merci
jnunn le
Hey pouvez-vous me guider pour cela s'il vous plaît? superuser.com/questions/951002/…
Niks
4
Mauvais (en 2017): reportez-vous à l' AddKeysToAgentoption de configuration, conçue spécifiquement pour ajouter vos clés SSH à l'agent simplement parce que vous avez SSH sur un serveur.
Radon Rosborough le
1

Une autre façon de limiter les clés sont vérifiées consiste à ajouter IdentitiesOnly yeset IdentityFile ~/.ssh/<nameofkey>à votre /.ssh/configfichier.

Leo Fisher
la source