Brelok OS X ciągle wyświetla monit o moje hasło SSH, nawet jeśli go zapisuję (OS X 10.6.8) [duplikat]

20

Za każdym razem, gdy loguję się na zdalnym serwerze za pomocą SSH, pęku kluczy OS X monituje mnie o zapamiętanie hasła SSH. Wpisuję hasło i zaznaczam pole, aby je zapamiętać. Następnie podłączam się do serwera, ale następnym razem pojawia się monit i tak dalej ...

Mam klucz prywatny do ssh na mój serwer i połączenie działa. W pliku hostów mam:

Host myhost
    HostName xxx.xxx.xxx.xx
    GlobalKnownHostsFile ~/.ssh/known_hosts
    port 22
    User myuser
    IdentityFile ~/.ssh/mykey_dsa
    IdentitiesOnly yes

.. a potem piszę ssh myhost

To dopiero ostatni problem, więc podejrzewam, że mam problem z pękiem kluczy? Żeby było jasne, za każdym razem mogę „ponownie dodać” do pęku kluczy i połączyć, ale to odwraca cel. Uprawnienia do mojego klucza dsa są ustawione na 600 lub-rw-------@

Próbowałem naprawić uprawnienia do dysku, ale to nie pomogło. Mój Google-foo też mnie zawodzi, nic użytecznego się nie pojawiło. Nie jestem więc pewien, czy to problem OS X / pęku kluczy, czy problem SSH.

aktualizacja: Kiedy próbuję ssh -vvv myhost, myślę, że to ujawnia problem:

debug1: Trying private key: /Users/danny/.ssh/mykey_dsa
debug1: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
debug3: Not a RSA1 key file /Users/danny/.ssh/mykey_dsa.
debug1: read PEM private key done: type DSA
Identity added: /Users/danny/.ssh/mykey_dsa (/Users/danny/.ssh/mykey_dsa)
debug1: read PEM private key done: type DSA
debug3: sign_and_send_pubkey
debug2: we sent a publickey packet, wait for reply
debug1: Authentication succeeded (publickey).

... a potem się łączę. Myślę, że sednem sprawy jest:

PEM_read_PrivateKey failed

Aktualizacja 2: po wypróbowaniu tego samego klucza i ustawień na innym komputerze Mac z wersją 10.6.8 wszystko działało dobrze, więc myślę, że jest to pytanie specyficzne dla komputera Mac, prawdopodobnie problem z pękiem kluczy uprawnień.

Aktualizacja 3 Próbowałem także czystej instalacji Mountain Lion (10.8.1) i niestety ten sam problem, którego zupełnie nie dostaję.

Możliwe powiązanie: https://discussions.apple.com/thread/3518441?start=0&tstart=0

Aktualizacja 4 To jest odpowiedź

Danny Englander
źródło
1
Spróbuj ssh -v[v] myserveruzyskać szczegółowe informacje o błędzie.
@ansi_lumen Próbowałem ssh -vvv i opublikowałem wyniki powyżej. Myślę, że problem jest, PEM_read_PrivateKey failedale nie wiem dlaczego, wygenerowałem ten klucz tak jak wszystkie inne, które zostały dodane do pęku kluczy i tam pozostały.
Danny Englander
1
Naprawiłem to dla mnie: apple.stackexchange.com/a/26252/17690
Danny Englander
2
ssh-add -Knaprawiono to dla mnie
orkoden

Odpowiedzi:

13

Odpowiedź skopiowana z /apple//a/26252/17690


Upewnij się, że masz odpowiedni id_rsa.publub id_dsa.pubw swoim ~/.sshkatalogu.

Kiedy miałem, id_rsaale nie odpowiadający id_rsa.pub, Mac OS X ciągle pojawiał się w oknie dialogowym i pamiętam, że passowrd w moim pęku kluczy nic nie zrobił.

cd ~/.ssh
ssh-keygen -y -f id_rsa > id_rsa.pub

wygenerowałem dla mnie odpowiedni plik klucza publicznego.

Jeśli masz już swój plik publiczny (zmień jego nazwę na inną nazwę) i ponownie wygeneruj klucz publiczny za pomocą powyższego polecenia, zauważysz, że wygenerowany i stary plik nie są sobie równe. Jakoś starsze wersje Mac OS X wygenerowały klucz publiczny, którego Lion już nie lubi, a wygenerowanie go ponownie to naprawia.

Dla ciekawskich klucz jest dokładnie taki sam, zmienia się tylko to, że po kluczu w pliku nie ma już sekcji „komentarze”.

TalkLittle
źródło
To pomogło mi dostać się tam, ale wkleiłem też klucz prywatny i nie było ono dzielone na białe, wszystko było w jednej linii. Po rozwiązaniu tego problemu został rozwiązany ten sam problem, który miał OP.
Cameron Gagnon,