11

меры

  1. Откройте PuTTY на моем рабочем столе Windows.
  2. SSH в мой MacBook Pro.
  3. перейдите к клону GitHub
  4. $ git push

ожидаемый

Everything up-to-date

фактический

Enter passphrase for key '/Users/whit537/.ssh/github':

Заметки

  • Ключ github указан в Доступе цепочки для ключей.
  • Я могу показать его пароль в Keychain Access.
  • Я могу использовать эту фразу-пароль успешно в приглашении в PuTTY.
  • Я получаю ожидаемый результат в окне терминала на MacBook.
  • uname -a: Darwin chad.whitacre 10.7.0 Ядро Darwin Версия 10.7.0: Сб 29 января 15:17:16 PST 2011; root: xnu-1504.9.37 ~ 1/RELEASE_I386 i386

Обновления

2011-04-12: Я обнаружил инструмент security помощью вопроса на боковой панели « Связанные» (не заметил его в списке возможных ответов при публикации). Я попытался запустить security unlock-keychain но получил тот же результат. Кажется, должен быть какой-то способ сделать это. На самом деле речь идет о двух ключах, и это длинные парольные фразы, а не короткие пароли, и они мне часто нужны в течение дня. Так что у меня есть какой-то стимул докопаться до сути.

2011-04-13: Это звучит многообещающе. Я вижу файл /tmp/launch-*****/Listeners на MacBook. В следующий раз, когда я буду на ПК, я попытаюсь установить SSH_AUTH_SOCK в моем сеансе PuTTY. Если это сработает однажды, я увижу о крючке .profile для автоматического обнаружения текущего сеанса запуска.

3 ответа3

15

Вы должны быть в состоянии разблокировать свою цепочку для ключей в Терминале как это:

security unlock-keychain -p <YourPassword> ~/Library/Keychains/login.keychain

Если вы не хотите запрашивать пароль, вы можете сохранить пароль в файле, а затем выполнить команду следующим образом:

security unlock-keychain -p `cat ~/.file_with_your_password` ~/Library/Keychains/login.keychain

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

Надеюсь, это поможет

3

Ваша цепочка для ключей привязана к графическому логину OS X. Когда вы входите на компьютер локально, он открывает цепочку для ключей. Терминал, в котором работает bash, знает о вашей цепочке для ключей.

Когда вы входите удаленно через PuTTY, ваша цепочка для ключей не открывается, и PuTTY и bash не знают об этом, даже если вы вошли в систему локально. Связи между ними просто нет.

Извините, но когда вы входите в систему через PuTTY, у вас возникает необходимость ввести пароль.

Это возможно, если кто-то, кто знает внутреннюю часть системы цепочки ключей OS X, не сможет придумать способ вручную установить эту ссылку в рамках вашего сеанса связи с PuTTY, но, на мой взгляд, это, вероятно, больше, чем ввод пароля один раз в в то время как.

2

Как я опишу в этом ответе, вам также нужно запустить

eval `ssh-agent -s`

в дополнение к разблокировке брелка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .