Jak wyczyścić wpisy ssh-agent (w systemie Mac OS X)?

60

Korzystam z systemu Mac OS X i wygląda na to, że po SSHing na kilku komputerach, używając plików tożsamości, mój „ssh-agent” gromadzi dużo tożsamości / kluczy, a następnie czasami oferuje zbyt wiele na komputerze zdalnym, powodując, że wykop mnie przed połączeniem:

Otrzymano rozłączenie z 10.12.10.16: 2: Zbyt wiele błędów uwierzytelnienia dla cwd

To, co się dzieje, jest dość oczywiste, a ta strona mówi o tym bardziej szczegółowo:

Serwery SSH pozwalają jedynie na próbę uwierzytelnienia określoną liczbę razy. Każda nieudana próba podania hasła, każda nieudana próba podania klucza / tożsamości itp. Podejmuje jedną z tych prób. Jeśli masz dużo kluczy SSH w swoim agencie, może się okazać, że serwer SSH może cię wyrzucić, zanim w ogóle spróbujesz uwierzytelnić hasło. W takim przypadku istnieje kilka różnych obejść.

Ponowne uruchomienie usuwa agenta, a następnie wszystko znów działa OK. Mogę również dodać tę linię do mojego .ssh/configpliku, aby wymusić użycie uwierzytelniania za pomocą hasła:

PreferredAuthentications keyboard-interactive,password

W każdym razie widziałem notatkę na stronie, do której się odwoływałem, mówiącą o usuwaniu kluczy z agenta, ale nie jestem pewien, czy dotyczy to komputera Mac, ponieważ wydają się one wyczyszczone po ponownym uruchomieniu.

Czy istnieje prosty sposób na wyczyszczenie wszystkich kluczy w „ssh-agent” (to samo, co dzieje się przy ponownym uruchomieniu)?

cwd
źródło

Odpowiedzi:

97

Twoje klucze SSH nie powinny być automatycznie dodawane do agenta tylko dlatego, że SSH przeszedł na serwer ...

Uruchom, ssh-add -laby wyświetlić listę kluczy agenta, ssh-add -Daby wyczyścić wszystkie klucze.

grawitacja
źródło
Może ma to coś wspólnego z konfiguracją OSX? Jeśli piszę ssh-add -l, nic nie dostaję. Po ssh -i ~/keyFileLocation.dsa un@remotehostwpisaniu pojawia się wyskakujące okno dialogowe OS X z prośbą o podanie hasła. Wpisuję to, a potem łączy mnie. Jeśli rozłączę się, a następnie wpiszę ssh-add -l, pokaże mi tożsamość, której właśnie użyłem. Po ponownym uruchomieniu komputera i wpisaniu ssh-add -ljest on ponownie pusty. ssh-add -Ddziałało świetnie, aby usunąć klucze bez ponownego uruchamiania. Dzięki!
cwd 16.04.11
Cztery lata później ten problem nadal występuje, ale ta poprawka nadal działa - dziękuję
jnunn,
Hej, możesz mi to poprowadzić? superuser.com/questions/951002/…
Niks
4
Źle (w 2017 r.): Patrz AddKeysToAgentopcja konfiguracji, która została zaprojektowana w celu wyraźnego dodania kluczy SSH do agenta tylko dlatego, że SSH do serwera.
Radon Rosborough,
1

Innym sposobem ograniczenia liczby sprawdzanych kluczy jest dodanie IdentitiesOnly yesi IdentityFile ~/.ssh/<nameofkey>do /.ssh/configpliku.

Leo Fisher
źródło