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


20

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


1
Спробуйте ssh -v[v] myserverотримати детальну інформацію про помилку.

@ansi_lumen Я спробував ssh -vvv і опублікував результати вище. Я думаю, що проблема полягає в PEM_read_PrivateKey failedтому, що я не знаю чому, я створив цей ключ так само, як і всі мої інші, які додаються до брелка і залишаються там.
Danny Englander

1
Це виправлено для мене: apple.stackexchange.com/a/26252/17690
Danny Englander

2
ssh-add -Kзафіксував це для мене
orkoden

Відповіді:


13

Відповідь скопійовано з /apple//a/26252/17690


Переконайтеся, що у вас є відповідний id_rsa.pubабо id_dsa.pubу вашому ~/.sshкаталозі.

Коли у мене з'явився відповідний, id_rsaале не відповідний id_rsa.pub, Mac OS X продовжував вискакувати діалогове вікно і пам'ятаю, що passowrd у моєму брелоку нічого не робив.

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

створив відповідний файл відкритого ключа для мене.

Якщо у вас вже був ваш публічний файл (перейменуйте його на інше ім'я) і знову генеруйте відкритий ключ, використовуючи вищевказану команду, ви помітите, що згенерований та старий не є рівними. Якось старіші версії Mac OS X генерували відкритий ключ, який Lion більше не любить, генеруючи його знову це виправляє.

Для допитливих ключ точно такий же, частина, яка змінюється, полягає в тому, що після клавіші у файлі більше немає розділу "коментарі".


Це допомогло мені пройти шлях туди, але я також вставляв приватний ключ, і це не було розділено на пробіл, все було в одному рядку. Після вирішення цієї проблеми була вирішена та сама проблема, що і в ОП.
Камерон Ганьон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.