Каждый раз, когда я захожу на удаленный сервер с помощью SSH, связка ключей OS X предлагает мне запомнить парольную фразу SSH. Я ввожу кодовую фразу и ставлю галочку, чтобы запомнить ее. Затем я подключаюсь к серверу нормально, но в следующий раз мне снова будет предложено и так далее...
У меня есть закрытый ключ для входа по ssh на мой сервер, и соединение работает. В моем файле hosts у меня есть:
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-------@
Я попытался восстановить права доступа к диску, но это не помогло. Мой гугл-фу тоже меня не подводит, ничего толкового не придумал. Поэтому я не уверен, является ли это проблемой OS X/keychain или проблемой SSH.
обновление: когда я пытаюсь использовать 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 Это ответ
Ответ скопирован с https://apple.stackexchange.com/a/26252/17690.
Убедитесь, что у вас есть соответствующий id_rsa.pub
или id_dsa.pub
в вашем ~/.ssh
каталоге.
Когда у меня был, id_rsa
но не соответствующий id_rsa.pub
, Mac OS X продолжала появляться в диалоговом окне, и помните, что пароль в моей связке ключей ничего не делал.
cd ~/.ssh
ssh-keygen -y -f id_rsa > id_rsa.pub
сгенерировал для меня соответствующий файл открытого ключа.
Если у вас уже был там ваш открытый файл (переименуйте его в другое имя) и снова сгенерируйте открытый ключ с помощью приведенной выше команды, вы заметите, что сгенерированный и старый не равны. Каким-то образом более старые версии Mac OS X генерировали открытый ключ, который Lion больше не нравится, его повторное создание исправляет это.
Для любопытных ключ точно такой же, часть, которая меняется, заключается в том, что больше нет раздела «комментарии» после ключа в файле.
ansi_lumen
ssh -v[v] myserver
получить подробную информацию об ошибке.Дэнни Энгландер
PEM_read_PrivateKey failed
но я не знаю почему, я сгенерировал этот ключ, как и все мои другие, которые добавляются в цепочку для ключей и остаются там.Дэнни Энгландер
Оркоден
ssh-add -K
исправил это для меня