Как сгенерировать SSH ключи

Для того чтобы сгенерировать SSH ключи в Ubuntu нам понадобится утилита ssh-keygen. Данная утилита идет в комплекте с deb пакетом openssh-client, который по умолчанию должен быть уже установлен. И так, приступим.

1. Сначала нужно создать папку для хранения ssh ключей если её ещё нет

 mkdir  ~/.ssh

2. Выполнить команду генерации ssh ключей

 ssh-keygen -t rsa -b 2048 -C igor-sverdlov@mail.ru
– Опция -t rsa отвечает за использование RSA алгоритма
– Опция -b 2048 указывает, что мы хотим сгенерировать ключ длиной 2048 бит
– Опция -C igor-sverdlov@mail.ru комментарий к ключу. Обычно это ваш email с доменным логином.

Утилита в процессе генерации задаст несколько вопросов. Первое, что она запросит, это куда и под каким именем сохранить ключ. Если дефолтный путь вас устраивает, а в большинстве случаев это так, то нажимаем Enter. Если же дефолт нас не устраивает, то указываем свой путь и нажимаем Enter. Второе, это пароль (минимум 5 символов). Если вы захотите создать ssh ключ без пароля, то можно просто нажать enter. Если вы ввели пароль, то утилита попросит подтвердить пароль ещё раз. Вот вывод работы утилиты
 ssh-keygen -t rsa -b 2048 -C igor-sverdlov@mail.ru
 Enter file in which to save the key (/home/madskill/.ssh/id_rsa):
 Enter passphrase (empty for no passphrase):
 Enter same passphrase again:
 Your identification has been saved in /home/madskill/.ssh/id_rsa.
 Your public key has been saved in /home/madskill/.ssh/id_rsa.pub.
 The key fingerprint is:
 SHA256:FrcsHSW/ATlQzIhOGdU8oT/CqNJGeWZWgWYY0XA0yag igor-sverdlov@mail.ru
 The key's randomart image is:
 +---[RSA 2048]----+
 |    +X=B+O=o.    |
 |    o.@..oO=     |
 |   . =  + ooo    |
 |  E  ..+ * o o   |
 |    o * S * .    |
 |   o * . o .     |
 |  . +            |
 |   o             |
 |                 |
 +----[SHA256]-----+
В результате мы получим два файла
 ls ~/.ssh
 id_rsa  id_rsa.pub

Осталось выставить правильные права доступа на файлы и готово.

 chmod 700 ~/.ssh
 chmod 600 ~/.ssh/id_rsa
 chmod 644 ~/.ssh/id_rsa.pub