OS X Keychain продолжает запрашивать у меня парольную фразу SSH, даже если я сохраняю ее (OS X 10.6.8) [дубликат]

Каждый раз, когда я захожу на удаленный сервер с помощью 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 Это ответ

Постарайтесь ssh -v[v] myserverполучить подробную информацию об ошибке.
@ansi_lumen Я попробовал ssh -vvv и опубликовал результаты выше. Я думаю, что проблема в том, PEM_read_PrivateKey failedно я не знаю почему, я сгенерировал этот ключ, как и все мои другие, которые добавляются в цепочку для ключей и остаются там.
Это исправило это для меня: apple.stackexchange.com/a/26252/17690
ssh-add -Kисправил это для меня

Ответы (1)

Ответ скопирован с 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 больше не нравится, его повторное создание исправляет это.

Для любопытных ключ точно такой же, часть, которая меняется, заключается в том, что больше нет раздела «комментарии» после ключа в файле.

Это помогло мне пройти часть пути, но я также вставлял закрытый ключ, и он не был разделен на пробелы, все было в одной строке. После решения этой проблемы была решена та же проблема, что и у OP.