Я начинаю понимать, как работают RSA и системы с открытым / закрытым ключом, и мне стало интересно, где хранится мой частный и открытый ключ SSH. Когда я захожу в свой домашний каталог и просматриваю свой каталог .ssh (cd .ssh), я вижу только файл "known_hosts", который, как мне кажется, содержит открытые ключи различных известных мне удаленных SSH-серверов.
Где я могу найти эти ключи? Я даже не помню, как их создавал, но поскольку я уже установил ssh-соединения, они должны быть где-то.
Я использую OpenSSH_5.2p1 с MAC OS 10.6.
Благодарность!
publickey
только один из многих возможных методов аутентификации; если вы просто вошли в систему с помощьюpassword
илиkeyboard-interactive
, сам пароль был отправлен. (Примечание: не путайте ключ пользователя, ключ хоста и ключи сеанса.)Ваши личные и личные ключи ssh обычно хранятся в:
Или они могут быть,
id_rsa
иid_rsa.pub
если вы создали ключи RSA, а не ключи DSA (OpenSSH поддерживает обе формы).Но тот факт, что вы установили ssh-соединения ранее, не означает, что у вас есть ssh-ключи. Если
ssh
команда не может найти ваш личный ключ, она запросит пароль для удаленной системы. Это менее безопасно, чем использование ключей.Обычно вы должны создать свой закрытый ключ ssh с парольной фразой. Если вы создадите его без ключевой фразы, кто-то, кто получит копию вашего личного ключа, сможет выдать себя за вас.
ssh-agent
позволяет использовать ключ с парольной фразой без необходимости повторного ввода вашей парольной фразы при каждом ее использовании.источник
Если вы не создать пару ключей, вы , вероятно , не имеют один.
Трафик SSH2 шифруется с помощью симметричного сеансового ключа, установленного с использованием алгоритмов DH, ECDH или обмена ключами GSSAPI. Ни ключ хоста, ни ключ пользователя не используются для шифрования данных - их единственная цель - аутентификация .
Теперь помните, что SSH поддерживает несколько методов аутентификации: в дополнение
publickey
, почти все серверы принимают простойpassword
и / илиkeyboard-interactive
, в котором не происходит генерация или использование ключа - пароль просто отправляется на удаленный сервер для проверки.Другими словами, «поскольку я уже установил ssh-соединения ранее, они должны быть где-то» неверно - пара ключей пользователя не нужна для установления соединений.
Если вы сделали создать пару ключей, скорее всего он будет в
~/.ssh/id_*
- например,id_rsa
для RSA пары ключей по умолчанию,id_ecdsa
для ECDSA,id_dsa
для АССА. Хотя эти файлы содержат как частную, так и открытую части пары ключей, открытая часть обычно автоматически извлекается в отдельныйid_*.pub
файл для удобства (id_rsa.pub
дляid_rsa
и так далее).источник