В OSX собственный ssh-add
клиент имеет специальный аргумент для сохранения ключевой фразы секретного ключа в цепочке ключей OSX, что означает, что ваш обычный логин разблокирует его для использования с ssh. В OSX Sierra и более поздних версиях вам также необходимо настроить SSH, чтобы всегда использовать цепочку для ключей (см. Шаг 2 ниже).
В качестве альтернативы вы можете использовать ключ без ключевой фразы, но если вы предпочитаете безопасность, это, безусловно, приемлемо с этим рабочим процессом.
Шаг 1 - Храните ключ в связке ключей
Просто сделайте это один раз:
ssh-add -K ~/.ssh/[your-private-key]
Введите ключевую фразу-пароль, и вас больше не попросят.
(Если вы используете версию OSX, предшествующую Sierra, то все готово, шаг 2 не требуется.)
Шаг 2 - Настройте SSH, чтобы всегда использовать цепочку для ключей
Похоже, что OSX Sierra убрала удобное поведение сохранения ключей между логинами, и обновление по ssh больше не использует цепочку для ключей по умолчанию. По этой причине вам будет предложено ввести ключевую фразу для ключа после обновления и снова после каждого перезапуска.
Решение довольно простое и описано в этом комментарии к ветке github . Вот как вы это настроили:
Убедитесь, что вы выполнили шаг 1 выше, чтобы сохранить ключ в цепочке для ключей.
Если вы еще этого не сделали, создайте ~/.ssh/config
файл. Другими словами, в .ssh
каталоге в вашем домашнем каталоге создайте файл с именем config
.
В этом .ssh/config
файле добавьте следующие строки:
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
Измените ~/.ssh/id_rsa
фактическое имя файла вашего личного ключа. Если у вас есть другие закрытые ключи в вашем ~.ssh
каталоге, также добавьте IdentityFile
строку для каждого из них. Например, у меня есть одна дополнительная строка IdentityFile ~/.ssh/id_ed25519
для второго секретного ключа.
Это UseKeychain yes
ключевая часть, которая говорит SSH искать в вашей цепочке ключей OSX ключевую фразу.
Это оно! В следующий раз, когда вы загрузите любое ssh-соединение, он попробует указанные вами закрытые ключи и будет искать их парольную фразу в цепочке ключей OSX. Не требуется ввод пароля.