Я пытаюсь настроить свою конфигурацию ssh на Mac (Mac OS Sierra 10.12.6) таким образом, чтобы она сохраняла парольную фразу для моего ключа ssh в связке ключей. Раньше я мог сделать это с помощью
ssh-add -K ~/.ssh/id_rsa
Но в последнее время, похоже, это больше не работает. После этой статьи, похоже, изменилось поведение конфигурации ssh в Mac OS> 10.12.2, и рекомендуемый способ исправить эту проблему - добавить UseKeychain yes
в конфигурацию ssh. Итак, вот мой .ssh/config
раздел Host *
:
Host *
Port 22
ServerAliveInterval 60
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
UseKeychain yes
При попытке установить ssh на внешний хост я получаю следующее сообщение об ошибке:
$ ssh my-host
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain
Есть идеи, почему это происходит и как я могу это исправить? Благодаря!
источник
ssh -F /dev/null ...
Временно обойти конфигурационный файл через , у меня это работает.IgnoreUnknown UseKeychain
прежнему у меня не работает, поэтому яUseKeychain yes
вообще удаляю, и оно работает. Не уверен, что это лучший подход.Принятый ответ помог мне, но не решил полностью мою проблему, потому что у меня было несколько плохих вариантов. Вот пример того, как это может выглядеть, если у вас возникнет эта проблема:
источник
Я просто закомментировал строку, и scp / ssh снова начал работать для меня.
источник
Вместо ssh-add введите open .ssh / id_rsa и добавьте его в цепочку для ключей
Параметр UseKeychain никогда не выглядел так плохо в моей конфигурации, но вначале, перед любым другим хостом, у меня были следующие
источник
*
правила будут проигнорированы.man ssh_config
говорит: «Так как для каждого параметра используется первое полученное значение, в начале файла следует указать более специфичные для хоста объявления, а в конце - общие значения по умолчанию».Это заглавная -K попробуйте строчную -k !!
источник
ssh-add
есть-K
опция, по крайней мере, на macOS.man ssh-add
:-K When adding identities, each passphrase will also be stored in the user's keychain. When removing identities with -d, each passphrase will be removed from it.
У меня была такая же проблема, и я понял это, когда начал генерировать ключ, следуя инструкциям. Первый шаг таков.
Я не менял адрес электронной почты, но, конечно, я забыл об этом: D. Так что не забудьте этот шаг, и все будет хорошо.
источник