我的 SSH 私钥会提前自动解锁,因为我猜它是用 Seahorse 配置的。它只会询问我的密码并自行处理事情。
由于某种奇怪的原因,它似乎不再起作用了。我确信我做到了不是更改任何设置。现在,每当我尝试登录远程服务器时,它都会询问我:
Enter passphrase for key: '$PATH_TO_KEY'
这很烦人!我该如何修复它?我知道我必须使用ssh-agent
并且我尝试添加密钥,但它似乎不起作用。
答案1
修复取决于您管理 ssh 密钥的方式。从你所写的内容来看,我猜你正在使用 ssh-agent 。如果这是真的,ssh-add -l
应该为您提供当前管理的密钥列表......或者如果代理尚未启动,则会出现错误。
ssh-agent 通常由 shell 初始化文件之一或 X 初始化文件之一或 pam_ssh 启动。您应该找出启动 ssh-agent 的位置(如果它已启动)来解决问题。
或者,您可以使用 GnuPG 替代 ssh-agent。启动 gpg-agent 时,您可以添加该--enable-ssh-support
选项。同样,gpg-agent 必须在某个地方启动,最好是在登录时启动。
答案2
- 执行 ssh-agent
- 执行 ssh-add
- 在您想要使用 ssh 密钥自动解锁的任何终端会话中导出两个变量 SSH_AUTH_SOCK 和 SSH_AGENT_PID。