自从我更新到 Sierra 后,macOS 一直询问我的 ssh 密码

自从我更新到 Sierra 后,macOS 一直询问我的 ssh 密码

它过去记得密码,但现在每次都会询问我。

我读到我需要用这个命令重新生成公钥,我这样做了:

ssh-keygen -y -f id_rsa > id_rsa.pub

但它没有解决任何问题。

我如何让 macOS 再次记住我的密码?

答案1

在最新版本的 macOS (10.12.2) 中,这个问题很容易解决。只需编辑~/.ssh/config并启用以下UseKeychain选项:

Host *
    UseKeychain yes

无需更改任何其他内容。现在一切都按照最新更新之前的方式运行。您无需向 中添加密钥ssh-agent


编辑:您可能仍需要输入一次密码。如果您不知道密码,请按照这些说明来揭示它。

答案2

我遇到了同样的问题。MacOS Sierra 钥匙串不断要求输入密码。出于安全考虑,您的 id_rsa 应该使用密码加密。然后尝试将其添加到钥匙串中ssh-add -K ~/.ssh/id_rsa

如果您的密钥位于另一个文件夹中,则~/.ssh请用正确的文件夹替换。

Keychain 现在知道你的 ssh 密钥了,希望一切现在都能正常工作(我的确实如此)

答案3

这解决了我的类似问题:

/usr/bin/ssh-add -K

这会将密码存储在您的钥匙串中。

更新(感谢@EasyCo):

这有效,但在重启后不会持续。@jukka-suomela 在此页面上的解决方案跨重启工作。您可以在这里找到答案:

https://superuser.com/a/1158050/234685

第二次更新(感谢@user5359531)

在 macOS Sonoma 14.x 中:

The -K and -A flags are deprecated and have been replaced by the --apple-use-keychain and --apple-load-keychain flags, respectively.

答案4

一个解决方法是将以下内容添加到您的 ~/.ssh/config 文件中:

Host *
   AddKeysToAgent yes
   IdentityFile ~/.ssh/id_rsa
   UseKeychain yes

取自:https://www.reddit.com/r/osx/comments/52zn5r/difficulties_with_sshagent_in_macos_sierra/ 另请参阅:https://apple.stackexchange.com/a/264974/3810

相关内容