Не удается удалить ключи из ssh-agent. Даже перезагрузка не помогает
Некоторое время назад я заметил, что в моем 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
ври мне про удаление личности?
2 ответа
Похоже, это может быть ошибка. Я имею подобное поведение в Ubuntu 10.10. Поиск в Google нашел отчет об ошибке для Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=472477
Чтобы удалить лишние ключи, которые я показывал, я просто переместил их из каталога ~/.ssh.
Ваши ключи хранятся в виде файлов в скрытом каталоге: /home/jruser/.ssh/, поэтому они сохраняются после перезагрузки. Я предполагаю, что ssh-add -D удаляет их из памяти, но когда вы перезагружаетесь, они читаются из каталога.ssh, и поэтому вы снова их получаете.