SSH 不再要求输入私钥密码。我不明白这是怎么回事。
过去,我曾使用 ksshaskpass 从 KWallet 获取我的 ssh 密钥的密码并解锁我的密钥。每当我需要使用 ssh 时,我都会运行以下脚本:
#!/bin/bash
export SSH_ASKPASS=/usr/bin/ksshaskpass
/usr/bin/ssh-add < /dev/null
(旁注:我曾经在我的 .kde/Autostart/ 中有这个,但是大约一年前它停止工作了 - KWallet 会在登录时挂起)。
从上周开始,这个脚本就停止工作了。Ksshaskpass 似乎弹出一个提示让我输入密码。它似乎没有从 KWallet 获取密码。所以我在对话框中输入了密码,并点击了“每次登录时自动解锁此密钥”复选框来记住密码(以为这会再次将其添加到 KWallet)。自从这样做之后,ssh 再也不会要求我输入密码了。
这个对话框现在出现在我的另一台 Kubuntu 机器上。以下是它的屏幕截图:
我误以为这是 ksshaskpass 对话框。现在我相信它不是。
- 这是什么程序?
- 我如何撤消已选中的复选框?
- 如何让该程序停止劫持 ksshaskpass?
- 谁动了我的奶酪我该踢谁的屁股?
答案1
我找到了这个应用程序。我写了一篇关于它的博客文章:
http://swoogan.blogspot.ca/2015/04/ssh-passphrase-chaos.html
该应用程序是gcr-prompter
。我使用以下命令将其从我的计算机中删除:
$ sudo aptitude purge gcr
$ sudo apt-get autoremove
$ rm -rf .local/share/keyrings
答案2
对于 KDE:查看 gnome-keyring-daemon 是否正在您的系统上运行。然后找出它是随哪个应用程序进入您的系统的(可能是运行某些 gnome 应用程序所需的 gnome libs)。
我遇到了同样的问题。我关闭了 gnome-keyring-daemon 并尝试了另一个 ssh 连接,没有出现额外的窗口,并且每次建立新连接时都会要求我输入密码。
我已将有问题的密钥环二进制文件设置为 600 权限。这应该会有所帮助,直到我完全解决这个问题。
答案3
- 我们需要在我们的计算机上找到“密码和密钥”应用程序并运行它。
- 现在我们需要找到合适的条目。在我的例子中,需要的条目是“密码”->“登录”->“解锁密码:SSH_KEY_USERNAME”。因此,我们可以通过在过滤器中输入“解锁密码”来搜索 SSH 密码。
- 要确认这是否是我们要找的内容:右键单击 -> “属性” -> “详细信息”选项卡,这里我们应该有类似这样的内容“unique: ssh-store:/home/USERNAME/.ssh/id_rsa”。我们还可以在“密钥” -> “密码” -> “显示密码”中看到我们的密码。
- 删除:右键点击->“删除”。
- 此后,我们可能需要重新启动计算机。