SSH密钥不会永久添加到我的钥匙串

Abr*_*ram 5 ssh macos-sierra

我尝试过以下方法:

ssh-add -K ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

这似乎一直有效,直到我结束我的终端会话,但随后我再次通过新会话提示我的密码短语.

以下是我在运行上述命令后看到的内容:

Identity added: /Users/xxx/.ssh/id_rsa (/Users/xxx/.ssh/id_rsa)
Run Code Online (Sandbox Code Playgroud)

我在iTerm2 Build 3.0.13zsh: stable 5.3.1上运行macOS Sierra 10.12.2

Saj*_*han 7

一种解决方案是将命令添加到~/.profile~/.bashrc文件中。然后每次打开新终端时,命令都会自动执行。
由于您正在使用,zsh您需要在~/.zprofile~/.zshrc文件中添加命令。

ssh-add -K ~/.ssh/id_rsa &> /dev/null
Run Code Online (Sandbox Code Playgroud)

&> /dev/null是为了避免Identity added每次打开新终端窗口时都看到消息。


Nic*_*iny 5

可以再试ssh-add -K一次或编辑您的~/.ssh/config以启用该选项:

Host * UseKeychain yes

如果ssh-add状态无法连接,请尝试使用以下方法进行设置:

eval $(ssh-agent)

类似于:https : //superuser.com/a/1158050

  • 我认为问题在于我的 ssh 配置文件中没有“UseKeychain yes”。我已经更新并确认密钥是使用 `ssh-add -l` 添加的 (2认同)