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/config
pliku, 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)?
ssh-add -l
, nic nie dostaję. Possh -i ~/keyFileLocation.dsa un@remotehost
wpisaniu 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 wpisaniussh-add -l
jest on ponownie pusty.ssh-add -D
działało świetnie, aby usunąć klucze bez ponownego uruchamiania. Dzięki!