它过去记得密码,但现在每次都会询问我。
我读到我需要用这个命令重新生成公钥,我这样做了:
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