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ź
źródło
ssh -v[v] myserver
uzyskać szczegółowe informacje o błędzie.PEM_read_PrivateKey failed
ale nie wiem dlaczego, wygenerowałem ten klucz tak jak wszystkie inne, które zostały dodane do pęku kluczy i tam pozostały.ssh-add -K
naprawiono to dla mnieOdpowiedzi:
Odpowiedź skopiowana z /apple//a/26252/17690
Upewnij się, że masz odpowiedni
id_rsa.pub
lubid_dsa.pub
w swoim~/.ssh
katalogu.Kiedy miałem,
id_rsa
ale nie odpowiadającyid_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ł.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”.
źródło