Некоторое время назад я заметил, что в моем ssh-agent есть три ключа, которые я не могу удалить. ssh-add -l
показывает три ключа; Я запустил ssh-add -D
, и мне сказали «Все идентификационные данные удалены.»; но затем немедленный ssh-add -l
показал те же три ключа.
Если я выйду из системы и вернусь обратно, ключи все еще будут там. Если я перезагружаю машину, ключи все еще там. Если я удалю каталог ключей в /tmp
, я больше не смогу подключиться к ssh-agent
, но после выхода из системы и возврата ключи вернутся. Они неуязвимы.
Насколько я могу судить, ключи мои, а не чужие. Я могу получить доступ к своим обычным местным службам с ними. Но когда я снова добавляю один из ключей с помощью ssh-add
, указывая путь к файлу с закрытым ключом, новый ключ имеет другой вид в выводе ssh-add -l
:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f /home/jruser/.ssh/jruser-keyname-20110418 (RSA)
по сравнению с оригиналом:
2048 00:01:02:03:04:05:06:07:08:09:0a:0b:0c:0d:0e:0f jruser 04/18/2011 keyname (RSA)
Есть ли способ разумно объяснить это поведение? Я думаю, что на самом деле есть два вопроса:
Как ключи удалось сохранить даже при перезагрузке? Мои базовые знания по
ssh
позволяют предположить, что ключи всегда нужно добавлять вручную.Почему
ssh-agent -D
лжет мне об удалении идентификаторов?