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