ssh-add -D 不会从 ssh-agent 中删除存储的密钥

ssh-add -D 不会从 ssh-agent 中删除存储的密钥

怎么会出现这种情况?:

stan@tcpc:~/.ssh$ ssh-add -l
8192 e0:45:5e:cc:45:3e:17:2b:a6:54:6f:8d:53:1b:j2:e3 github (RSA)
2048 25:41:53:a6:45:5d:ac:eb:5c:45:f8:ce:42:a9:he:aa BITBUCKET (RSA)
stan@tcpc:~/.ssh$ ssh-add -D
All identities removed.
stan@tcpc:~/.ssh$ ssh-add -l
8192 e0:45:5e:cc:45:3e:17:2b:a6:54:6f:8d:53:1b:j2:e3 github (RSA)
2048 25:41:53:a6:45:5d:ac:eb:5c:45:f8:ce:42:a9:he:aa BITBUCKET (RSA)

为什么钥匙没有被删除?

ps可能是这个bug吗?http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477 不过我用的是arch linux...

答案1

中的步骤这个帖子为我工作;您只需打开启动应用程序管理器,取消选中“SSH Key Agent - GNOME Keyring:SSH Agent”条目,然后重新启动 Unity。如果没有显示,请编辑/etc/xdg/autostart/gnome-keyring-ssh.desktop并更改NoDisplay=trueNoDisplay=false.

答案2

进入/tmp文件夹,删除所有以ssh开头的文件夹

solomon@debian:/tmp$ rm -rf ssh

solomon@debian:/tmp$ ssh-add -D

All identities removed.

solomon@debian:/tmp$ ssh-add -l
The agent has no identities.

答案3

我和你有同样的问题。我不是专家,但对我有用的解决方案是从 ~/.ssh 目录中删除密钥。这是我所看到的一个例子。

$ ssh-add -l
2048 06:e9:a6:14:2a:e4:c3:11:56:ea:c3:5d:f9:84:79:c6 first key (RSA)
2048 2c:c3:97:fe:f3:cf:03:dc:d3:0b:87:2b:01:72:33:3b second key (RSA)
$ ssh-add -d ~/.ssh/id_rsa.pub
Identity removed: /home/user/.ssh/ybot_rsa.pub (/home/user/.ssh/id_rsa.pub)
$ ssh-add -l
2048 06:e9:a6:14:2a:e4:c3:11:56:ea:c3:5d:f9:84:79:c6 first key (RSA)
2048 2c:c3:97:fe:f3:cf:03:dc:d3:0b:87:2b:01:72:33:3b second key (RSA)

从 ~/.ssh 文件夹中移动 id_rsa (和 id_rsa.pub)后,ssh-agent 不再具有身份。我所做的是:

$ ssh-add -l
2048 06:e9:a6:14:2a:e4:c3:11:56:ea:c3:5d:f9:84:79:c6 first key (RSA)
2048 2c:c3:97:fe:f3:cf:03:dc:d3:0b:87:2b:01:72:33:3b second key (RSA)
$ mv ~/.ssh/id_rsa ~/.ssh/id_rsa.pub ~/
$ ssh-add -l
2048 2c:c3:97:fe:f3:cf:03:dc:d3:0b:87:2b:01:72:33:3b second key (RSA)

我猜测(我可能是错的)如果您没有运行 Gnome Keyring 守护进程 (gnome-keyring-daemon),这种行为将会改变。也许最初的(且合乎逻辑的)解决方案可行,但第二个则不行。

相关内容