Не удается удалить ключи из 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)

Есть ли способ разумно объяснить это поведение? Я думаю, что на самом деле есть два вопроса:

  1. Как ключи удалось сохранить даже при перезагрузке? Мои базовые знания ssh предполагает, что ключи всегда должны быть добавлены вручную.

  2. Почему 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, и поэтому вы снова их получаете.

Другие вопросы по тегам