![为什么即使 SSH_ASKPASS 为空,~/.ssh/id_rsa.pub 也会导致 GUI 对话框要求输入 SSH 密码?](https://linux22.com/image/656778/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8D%B3%E4%BD%BF%20SSH_ASKPASS%20%E4%B8%BA%E7%A9%BA%EF%BC%8C~%2F.ssh%2Fid_rsa.pub%20%E4%B9%9F%E4%BC%9A%E5%AF%BC%E8%87%B4%20GUI%20%E5%AF%B9%E8%AF%9D%E6%A1%86%E8%A6%81%E6%B1%82%E8%BE%93%E5%85%A5%20SSH%20%E5%AF%86%E7%A0%81%EF%BC%9F.png)
问题是如何开始的
由于某种原因,我的 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 的存在