Как узнать, какой шифр существующий ключ
У меня есть рабочий ключ, который я создал с параметрами по умолчанию (я не ввел аргументов) в «OpenSSH_5.5p1 Debian-4ubuntu6, OpenSSL 0.9.8o 01 июня 2010». Я могу определить его RSA по многим параметрам (имя файла, первые строки в ключе .pub, в закрытом ключе); единственное место, где я могу подтвердить битовую силу (Я думаю, это называется) когда я создал, он показал, что случайный арт вверху показал 2048. Как узнать, что это RSA1 или RSA2, или обычный RSA
Пожалуйста, объясните мне, как мне нужен самый безопасный способ использования ssh :)
TL; DR: Используйте 2048-битные ключи RSA.
Если вы не используете старый SSH-клиент или сервер, вы будете использовать протокол версии 2.
Хотя алгоритмы DSA и RSA сопоставимы с точки зрения силы, ключи DSA могут быть только 1024-битными при использовании SSH, тогда как ключи RSA не ограничены. 1024-битные ключи становятся небезопасными из-за доступной сегодня вычислительной мощности, поэтому вам нужно как минимум 2048-битные ключи, что означает RSA. (Раньше также возникали патентные проблемы с RSA, из-за которых DSA рекомендовали, но теперь это уже не так.)
Практически все серверы принимают ключи DSA и RSA. (Некоторые конкретные ключи занесены в черный список из-за Ошибка Debian, но нет никаких запрещенных шифров.) ECDSA - это новая популярность, но пока не все серверы поддерживают ее, и поэтому она не может широко использоваться. Как только это изменится, ECDSA, вероятно, станет правильным решением.
Обычно вы можете определить тип ключа по имени файла, которое обычно id_dsa
, id_rsa
или id_ecdsa
. В file
Команда также может проверить содержимое для определения типа:
% file id_rsa
id_rsa: PEM RSA private key
Чтобы определить длину ключа, вы можете использовать openssl
команда:
% openssl rsa -in id_rsa -noout -text | head -n1
Enter pass phrase for id_rsa:
Private-Key: (4096 bit)
% openssl dsa -in id_dsa -noout -text | head -n1
read DSA key
Private-Key: (1024 bit)
Если вы не беспокоитесь о подслушивании от кого-то, кто располагает ресурсами АНБ, это не имеет значения. Да, некоторые алгоритмы или длины ключей имеют теоретические уязвимости, которые могут быть использованы, но на практике очень маловероятно, что они воля могут быть использованы против вас, если вы не скрываете чрезвычайно ценные данные, и в любом случае, будучи «новичком в Linux», вы почти наверняка столкнетесь с гораздо более серьезными дырами в безопасности.