У меня зарегистрировано несколько ключей:
$ 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
██████ удалить выборочно, и ssh-add -D
удалить все ключи.
это не работает. После того, как я казнил ssh-add -D
, выход ssh-add -l
такой же, как и раньше.
Я пробовал, например, ssh-add -d alex@sunny2
, а также полный путь к ключевому файлу, который в этом примере ~/.ssh/alex_rsa
.
Я также пробовал удалить подстановочный знак, ssh-add -d ~/.ssh/*
.
Что интересно, я получаю подтверждение, что ключ был удален:
Identity removed: .ssh/alex_rsa ( alex@sunny2)
Но ssh-add -l
после этого снова перечисляются все ключевые файлы, поэтому кажется, что при удалении что-то пошло не так. Или есть какой-то механизм, который сразу же добавляет ключи.
$ 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) я вижу следующую конфигурацию PAM:
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
Это означает, что если я начну сеанс X с lightdm
этот сеанс будет иметь доступ к ключам, предоставленным gnome-keyring-daemon
. Обычно они включают все ключи внутри ~/.ssh/
которые читаются при входе в систему.
Изменить: если вы запускаете Ubuntu 16.04 или в какой-либо другой системе работает gnome (проверьте ps ax|grep keyring
) ты можешь использовать gnome-keyring-properties
для переключения сеансовой интеграции. Тогда после следующего входа ключи больше не будут.
Какая у вас версия OpenSSH (и, следовательно, ssh-add)?
Мои работы:
$ ssh-add -l
... user@host (RSA)
$ ssh-add -D
All identities removed.
$ ssh-add -l
The agent has no identities.
убийство gnome-keyring-daemon
$ ps топор | grep keyring 1627? SLl 0:01 / usr / bin / gnome-keyring-daemon --daemonize --login 17218 pts / 2 S + 0:00 grep --color = auto keyring
$ kill 1627
перезапустить ssh
$ eval $ (ssh-агент)
теперь все личности удалены
$ ssh-add -l У агента нет удостоверений.