Кожен раз, коли я входжу на віддалений сервер за допомогою SSH, брелок OS X підкаже мені запам'ятати парольну фразу SSH. Я набираю парольну фразу і встановлюю прапорець, щоб запам'ятати її. Потім я підключаю нормально сервер, але потім наступного разу мені з’явиться запит і так далі ...
У мене є приватний ключ, щоб ввійти до мого сервера, і з'єднання працює. У моєму файлі хостів у мене є:
Host myhost
HostName xxx.xxx.xxx.xx
GlobalKnownHostsFile ~/.ssh/known_hosts
port 22
User myuser
IdentityFile ~/.ssh/mykey_dsa
IdentitiesOnly yes
.. а потім я набираю ssh myhost
Це лише нещодавня проблема, тому я підозрюю і проблему з Keychain? Щоб було зрозуміло, я можу кожен раз "повторно додавати" до брелка і підключатися, але це визначає мету. Дозволи на моєму ключі dsa встановлені на рівні 600 або-rw-------@
Я спробував відновити дозволи на диск, але це не принесло користі. Мій Google-foo також не вдається мені, нічого корисного не придумали. Тому я не впевнений, це проблема ОС X / keychain або проблема SSH.
update: Коли я спробую ssh -vvv myhost, я думаю, це виявляє проблему:
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).
... і після цього я підключаюся. Я думаю, що це суть справи:
PEM_read_PrivateKey failed
Оновлення 2: Після випробування того ж ключа та налаштувань на іншому Mac з 10.6.8 також все спрацювало нормально, тому я думаю, що це специфічний для Mac питання, можливо, проблема ключових ланцюгів дозволів.
Оновлення 3 Я також спробував чисту установку Mountain Lion (10.8.1) і, на жаль, той самий випуск, який я повністю не отримую.
Можливо, пов’язано: https://discussions.apple.com/thread/3518441?start=0&tstart=0
Оновлення 4 Це відповідь
PEM_read_PrivateKey failed
тому, що я не знаю чому, я створив цей ключ так само, як і всі мої інші, які додаються до брелка і залишаються там.
ssh-add -K
зафіксував це для мене
ssh -v[v] myserver
отримати детальну інформацію про помилку.