Mac 每次登录时都会提示“输入密码短语以获取密钥”

Mil*_*ays 3 osx ssh

我经常使用我的 Mac ssh进入本地网络上的其他系统。

我有一个公钥/私钥(创建于 6 年前),因此我可以在不使用密码的情况下进行连接。

最近(可能是因为升级到 10.12.4)Mac 提示输入密钥“/Users/user/.ssh/id_rsa”的密码:

为什么这突然开始发生?(我认为这与更改ssh OpenSSH_7.4p1, LibreSSL 2.5.0

我可以得到 ssh在不要求密码的情况下进行连接吗?

或者我可以使用新的密钥对,但我可以 ssh-keygen可以在不影响公钥的情况下删除密码吗?

似乎有许多相关的问题,但没有似乎适用于 Mac 的解决方案。

可能有用的信息:-

id_rsa

Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,0F1575DBFB9CA6CD
Run Code Online (Sandbox Code Playgroud)

ssh-add -l 显示

2048 SHA256:XQGzZVv9orlvUu6t7XIfxi89EaroG9CU2Z2WQ71kST8 ~/.ssh/id_rsa (RSA)
Run Code Online (Sandbox Code Playgroud)

ssh-agent

SSH_AUTH_SOCK=/var/folders/b7/k8m8pvdx0kl3kjhbk8q2kchm0000gn/T//ssh-gmetYqUf36ZC/agent.10219; export SSH_AUTH_SOCK;
SSH_AGENT_PID=10220; export SSH_AGENT_PID;
echo Agent pid 10220;
Run Code Online (Sandbox Code Playgroud)

Phi*_*pos 5

如果您使用密码生成密钥对,这就是所需的行为。如果您不想输入密码,请选择一个空密码。

如果可以使用相同的公钥生成新密钥,则不再有任何安全性,因此您不能这样做。

我建议让 Keychain 为您输入密码。编辑~/.ssh/config并添加选项:

Host *
    UseKeychain yes
Run Code Online (Sandbox Code Playgroud)