我有几个注册的密钥:
$ ssh-add -l 4096 cd:43:96:9e:0c:9a:38:ae:d9:96:f0:c5:d1:bf:9d:96 alex@sunny2 (RSA) 2048 4c:eb:fc:6b:ab:a0:ff:99:c3:ff:13:0a:95:2a:68:70 ███████ (RSA) 4096 01:cc:8d:c9:3c:ca:cf:39:93:57:e5:36:91:30:c2:94 ██████(RSA) 4096 87:b3:05:9a:68:6a:2b:be:1f:6f:ce:1b:34:50:c9:01 ██████████(RSA) 2048 37:d7:c6:08:65:9e:d4:8e:57:a2:05:36:71:e3:0b:13 ███ (RSA) 2048 3c:62:aa:4e:86:6d:83:b0:f7:b8:fb:0a:db:c4:67:3b ██████ (RSA) 1024 a4:1b:cb:c9:a0:99:19:80:67:e2:1b:14:5b:7e:17:cf ███████ (RSA)
我试过ssh-add -d -d██████有select地删除,而ssh-add -D删除所有的密钥。
这似乎并没有工作。 执行完ssh-add -D , ssh-add -l的输出和以前一样。
我试过,例如, ssh-add -d alex@sunny2 ,以及密钥文件的完整path,在本例中是~/.ssh/alex_rsa 。
我也试过'wildcard-remove', ssh-add -d ~/.ssh/* 。
有趣的是我得到一个确认,关键被删除:
Identity removed: .ssh/alex_rsa ( alex@sunny2)
但是, ssh-add -l之后再次列出了所有的关键文件,所以看起来在删除的时候出了点问题。 或者,有一些机制会立即再次添encryption钥。
$ cat ~/.ssh/config Host * ServerAliveInterval 240 Host 192.168.0.107 PreferredAuthentications keyboard-interactive,password,publickey,hostbased,gssapi-with-mic Host github.com HostName github.com IdentityFile ~/.ssh/alex_rsa
SSH版本是:
$ ssh -V OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8, OpenSSL 1.0.1f 6 Jan 2014
是的,可能有一种机制,为钥匙圈添加钥匙。 例如在我的机器上(Ubuntu 16.04LTS),我可以看到下面的PAMconfiguration:
blafasel@localhost:~$ grep -R gnome_keyring /etc/pam.* /etc/pam.d/lightdm-greeter:auth optional pam_gnome_keyring.so /etc/pam.d/lightdm-greeter:session optional pam_gnome_keyring.so auto_start /etc/pam.d/gnome-screensaver:auth optional pam_gnome_keyring.so /etc/pam.d/common-password:password optional pam_gnome_keyring.so /etc/pam.d/lightdm:auth optional pam_gnome_keyring.so /etc/pam.d/lightdm:session optional pam_gnome_keyring.so auto_start /etc/pam.d/unity:auth optional pam_gnome_keyring.so
这意味着,如果我使用lightdm启动X会话,则此会话将有权访问由gnome-keyring-daemon提供gnome-keyring-daemon 。 这些通常包括~/.ssh/中的所有密钥,这些密钥是在login时读取的。
编辑:如果你运行Ubuntu 16.04或者有一些其他系统正在运行gnome(通过ps ax|grep keyringvalidation),你可以使用gnome-keyring-properties切换会话集成。 那么在下次login后将不再提供密钥。
你有哪个版本的OpenSSH(和ssh-add)?
矿山工程:
$ ssh-add -l ... user@host (RSA) $ ssh-add -D All identities removed. $ ssh-add -l The agent has no identities.