图形 ssh 私钥提示未显示

图形 ssh 私钥提示未显示

我最近停止使用 ubuntu 11.10 中的完整桌面环境(厌倦了 Unity),但我正在尝试恢复部分桌面环境。我目前正在尝试在尝试使用新的 ssh 密钥时显示“解锁私钥”对话框。但是,目前提示仅显示在终端窗口中,而不是 GUI 中,这意味着它没有使用全局 ssh 代理,因此我需要在重新启动之前多次输入密钥密码。

我想我想要的是 gnome-ssh-askpass 并且我尝试设置 SSH_ASKPASS,但没有用: http://www.linuxquestions.org/questions/linux-software-2/how-to-replace-ssh-askpass-with-ssh-askpass-gnome-843220/

我也尝试过将 gnome-keyring-daemon 作为 gnome-keyring-daemon --components keyring,pkcs11,ssh 但没有帮助: http://live.gnome.org/GnomeKeyring/Ssh

答案1

我认为你真正想要的是钥匙链,这与ssh-reagent您提到的类似。一旦在您的配置中,.bashrc它就会提示您要求它管理的密钥的密码,只有当您启动第一的终端后,确保每个新终端都知道您的ssh-agent

答案2

为了解决多次输入密码的问题,第一次打开终端时输入此命令:ssh-add


直至退出时无需输入密码。

答案3

如果您在两个系统上都设置了 ssh 密钥,则该过程应该是自动的。使用默认安装,我从未需要执行任何其他操作。

如果你还没有这样做,请按照以下方法操作:

生成密钥(RSA 或 DSA)。我认为 RSA 更常见。

ssh-keygen -t rsa

或者

ssh-keygen -t dsa

将密钥传输到远程系统:

ssh-copy-id *username* @ *hostname*

如果不使用标准端口 22:(注意参数周围需要加引号)

ssh-copy-id *username* @ *hostname* -p *portnum*"

如果使用 DSA,您需要使用类似以下内容:

ssh-copy-id -i *path*  *to*   id_dsa

完成上述操作后,我得到了对话框。过去,我记得如果我以某种方式运行终端,它不会给出对话框,但我记不清细节了。我想那是因为我为自定义命令创建了一个热键来设置目录,因为有一个错误,即使终端知道我的主目录,它仍不断出现在根目录中。

答案4

如果 gnome 的 gui 没有提示您输入密码,则可能意味着它gnome-keyring-d未运行或处于无效状态。我将检查该进程是否正在运行:

ps -e | grep gnome-keyring-d

如果是则杀死它:

killall -9 gnome-keyring-d

然后重启

gnome-keyring-daemon

此后,当我这样做时,ssh <remotehost>我会得到 GUI 提示,并且ssh-agent底层会执行它的工作。

相关内容