Ключ ssh сохраняется даже после удаления личного ключа из ~ / .ssh - почему?


18

Я сгенерировал ключи SSH (открытый и закрытый) и сохранил их в ~/.ssh/myServer/.

Я добавил открытый ключ к ~/.ssh/authorized_keysфайлу сервера, и все отлично работает!

Пытаясь понять, как работают ключи, я удалил их и с удивлением обнаружил, что все еще могу подключиться к серверу.

Почему я все еще могу подключиться без пароля?

Ответы:


24

Добро пожаловать в удивительный мир OS X Keychain и ssh-agent ! Со страницы руководства:

ssh-agent - это программа для хранения закрытых ключей, используемая для аутентификации с открытым ключом (RSA, DSA, ECDSA). Идея состоит в том, что ssh-agent запускается в начале сеанса X или сеанса входа в систему, а все другие окна или программы запускаются как клиенты для программы ssh-agent. Посредством использования переменных переменных среды можно найти агент и автоматически использовать его для аутентификации при входе на другие машины с использованием ssh (1).

Ваш закрытый ключ был кэширован в агенте и извлекается оттуда для аутентификации вашего сеанса. OS X через Keychain выполняет автоматическое кэширование ssh-agent, потому что это «удобно для пользователя». Это может быть немного тревожно, но в основном это удобно.

Время жизни по умолчанию для кэшированных ключей - навсегда. Это, вероятно, не лучший вариант по умолчанию. Он очистит кэшированные ключи при цикле выхода из системы / входа в систему или перезагрузки. Или вы можете вызвать сброс, убив текущего агента, используя:

ssh-add -D

Вы можете получить список всех учетных данных, кэшированных агентом, выполнив:

ssh-add -l

Это сделает то же самое, но покажет полные открытые ключи:

ssh-add -L

Вот это да! Большое спасибо! Я был действительно смущен относительно того, что происходило. Я понимаю теперь!
poltj18

2
@ FAYNUS, если это решит проблему для вас, пожалуйста, нажмите зеленую галочку справа, чтобы пометить его как «принятый ответ»! Добро пожаловать, чтобы спросить другого!
Ян С.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.