强制 SSH 在 shell 中(而不是在窗口中)询问我的私钥密码

强制 SSH 在 shell 中(而不是在窗口中)询问我的私钥密码

当我启动后第一次使用 SSH 时,它会询问我的私钥解锁密码(这是我期望的行为)。但它是在窗口中执行的,而不是在 shell 中执行的(类似于gksudoVS sudo)。这很令人沮丧(我必须使用鼠标单击窗口),其次有时会导致错误(我使用 Guake 终端,有时全屏,在这种情况下我无法专注于 SSH 窗口,我被迫重新启动 X )。

所以,我的问题是:有没有办法强制 SSH 在命令行上询问我的私钥密码,而不是弹出一个窗口?

答案1

您可能已经安装了其中一个*-askpass软件包,并且环境变量SSH_ASKPASS;看SSH(1)。取消设置变量,例如在您的 中~/.bashrc,或卸载软件包应该可以解决问题。

也可以看看告诉 SSH 使用图形提示输入密钥密码对于相反的问题和一些关于环境的提示。

答案2

您已将私钥添加到gnome-keyring或其他内容中,这会发出输入密码的 GUI 提示。在此设置中您无法摆脱它。

但是可以在您的 中使用正常ssh-agent(通过删除gnome-keyringssh-agent之后启动)和AddKeysToAgent yes选项ssh_config,这将导致您期望的行为 - 启动后,代理将没有任何密钥,并且它们将在第一次使用。

类似案例在相关问题中有解释:

相关内容