Простой пример
ssh-keygen -m PEM -t rsa -b 4096
Подробный пример
ssh-keygen \
-m PEM \
-t rsa \
-b 4096 \
-C "hello@omsk.dev" \
-f ~/.ssh/mykeys/my_privatekey \
-N my_passphrase
Описание параметров команды
ssh-keygen — программа, с помощью которой создаются ключи.
-m PEM — преобразование ключа в формат PEM.
-t rsa — тип создаваемого ключа; в данном случае создается ключ в формате RSA.
-b 4096 — количество битов в ключе; в данном случае ключ содержит 4096 битов.
-C «hello@omsk.dev» — комментарий, который будет добавлен в конец файла открытого ключа для идентификации. Обычно в качестве комментария используется адрес электронной почты, но вы можете выбрать для своей инфраструктуры любой удобный метод идентификации.
-f ~/.ssh/mykeys/my_privatekey — имя файла закрытого ключа, если вы решили не использовать имя по умолчанию. В том же каталоге будет создан соответствующий файла открытого ключа с .pub в имени. Этот каталог должен существовать.
-N my_passphrase — дополнительная парольная фраза, используемая для доступа к файлу закрытого ключа.
Настоятельно рекомендуется добавить парольную фразу в закрытый ключ. Если не защитить файл ключа парольной фразой, любой пользователь, у которого есть этот файл, сможет использовать его, чтобы войти на любой из серверов, на котором используется соответствующий открытый ключ. Добавив парольную фразу, вы усилите защиту на случай, если другой пользователь получит доступ к файлу закрытого ключа. Это даст вам время, чтобы изменить ключи.
https://docs.microsoft.com/ru-ru/azure/virtual-machines/linux/create-ssh-keys-detailed
Алгоритм Ed25519
Генерация ключа на машине Windows
ssh-keygen -t ed25519 -b 4096 -C "hello@omsk.dev" -f C:\OmskDev -N My_pass