- RSA
Старый добрый RSA работает везде (кроме тех мест, где он специально отключен сисадмином). Единственное - не задавайте длину ключа меньше 4096.
$ ssh-keygen -t rsa -b 4096
-b - длина RSA ключа, допустимый интервал значений 2048-16384 бит
- DSA
У DSA длина ключа неизменна - 2048 бит.
$ ssh-keygen -t dsa
- ECDSA
ECDSA (the Elliptic Curve Digital Signature Algorithm) обеспечивает такой же уровень защиты, что и методы выше, но имеет меньший размер ключей и операции с ним более быстрые. Он указан в качестве предпочтительного алгоритма для аутентификации в OpenSSH 5.7.$ ssh-keygen -t ecdsa -b 384 -C "$(whoami)@$(hostname)"
-b - длина ECDSA ключа, может быть 256, 384 или 521 бит
Помните, что ECDSA работает не везде (например, на старых версиях openssh), также многие производители отключают ECDSA из-за проблем с патентом и т.д. Ещё одна интересная деталь: достоверность кривых, подготовленных NIST, ставится под сомнение, так как эти граждане плотно работают с NSA, а те, в свою очередь, уже были пойманы на встраивании бекдоров везде куда можно. Но, если вам нечего скрывать от правительства США - можете использовать ECDSA.
- Ed25519
Представлен публике в OpenSSH 6.5 и "обеспечивает лучшую защиту, чем ECDSA и DSA, и хорошую производительность".$ ssh-keygen -t ed25519
Длина ed25519 постоянна и равняется 256 бит. Разработчики применили новый формат ключа, который «использует функцию деривации ключа на основе bcrypt, которая делает атаки с грубой силой против украденных частных ключей намного медленнее» и, как следствие, присутствует несовместимость со старыми версиями openssh.
Статья опубликована: 2019-11-19 08:20:12
Последние правки: 2019-11-19 09:11:30
Ключи SSH являются парными, один из них - закрытый (приватный), другой - открытый (публичный). Приватный ключ нельзя давать никому, особо параноидальные граждане могут дополнительно зашифровать приватный ключ, задав пароль во время генерации ключей, но этот пароль у вас будут спрашивать при каждом подключении. Публичный ключ смело раздаем, его необходимо поместить на сервера, к которым необходим доступ по ssh.