为什么即使 SSH_ASKPASS 为空,~/.ssh/id_rsa.pub 也会导致 GUI 对话框要求输入 SSH 密码?

为什么即使 SSH_ASKPASS 为空,~/.ssh/id_rsa.pub 也会导致 GUI 对话框要求输入 SSH 密码?

问题是如何开始的

由于某种原因,我的 id_rsa.pub 文件没有保存在 ~/.ssh 中。因此,我将它从我的一台服务器复制到了我机器上的 ~/.ssh/ 中... 这样我就有它了,当我想使用我的 SSH 密钥访问服务器时,我可以将它复制到服务器上。

SSH 的奇怪行为

有了 ~/.ssh/id_rsa.pub 文件,当我尝试在终端仿真器中连接服务器时,会弹出一个 GUI 窗口,要求我输入 SSH 密码?(而不是像往常一样在终端中询问 ssh)

解决方法

如果我将 ~/.ssh/id_rsa.pub 文件移动到另一个目录,那么它会像通常预期的那样在终端中要求输入 SSH 密码。

SSH_ASKPASS 不存在或不参与

echo "$SSH_ASKPASS"什么都没有返回。我unset SSH_ASKPASS还是运行了。(unsetenv在我的计算机上不存在)。我的计算机上没有 SSH_ASKPASS 变量,它不是决定因素,决定因素是 ~/.ssh/id_rsa.pub 的存在

相关内容