Генерация ключей SSH в Linux

Generate Ssh Keys Linux



SSH означает S Ecure Ш ell, и, как следует из названия, он используется для установления безопасного соединения между клиентом и его сервером. По умолчанию каждая операционная система на базе Linux поддерживает SSH. Протокол SSH обычно используется для удаленного доступа, управления и передачи файлов. Итак, в этом посте вы продемонстрируете, как сгенерировать ключи SSH и использовать их для защиты сервера и ценной информации.







Генерация ключей SSH

Когда мы генерируем пару ключей SSH, она создается в два этапа. Один из них - это создание SSH-ключа на стороне клиента, а второй - его копирование на сервер или любой удаленный хост. Пара ключей состоит из файлов закрытого и открытого ключей с именами id_rsa и id_rsa.pub соответственно в каталоге ~ / .ssh.

IP-адрес моей клиентской системы

$ipк

192.168.18.130

Ключ SSH можно сгенерировать, выполнив команду ssh-keygen в терминале.

$ssh-keygen

Вам будет предложено ввести имя файла, в котором вы хотите сохранить закрытый и открытый ключ, или вы можете использовать выбранные по умолчанию файлы id_rsa и id_rsa.pub в каталоге .ssh (/home/user/.ssh/id_rsa ). Нажмите Enter, чтобы выбрать файл по умолчанию.

Затем он запросит кодовую фразу. Парольная фраза на самом деле является своего рода дополнительным уровнем безопасности для защиты соединения между хостом и клиентом. Когда вы авторизуетесь на хосте, он снова запросит кодовую фразу. Так что либо введите парольную фразу, либо оставьте ее пустым и нажмите Enter, не вводя никакой парольной фразы.

Как только вы закончите с парольной фразой, должен быть сгенерирован ключ SSH.

Вы можете заметить на снимке экрана, что сгенерированный ключ - RSA 3072. Что это означает?

Тип алгоритма и размер ключа SSH

По умолчанию тип алгоритма сгенерированного ключа - RSA, а его размер в битах - 3072 бита. Но вы можете изменить это, если хотите.

Существует три основных типа алгоритмов генерации ключей SSH.

ЮАР - Ривест Шамир Адлеман. Это ключ с минимальным размером 2048, и он основан на сложности факторизации больших чисел.

DSA - алгоритм цифровой подписи. Этот ключ чаще всего используется с размером 1024.

ECDSA - алгоритм цифровой подписи с эллиптическими кривыми. Он поддерживает 256, 384 и 521 бит.

Теперь, если вы хотите указать желаемый тип алгоритма и размер в битах, вы можете указать тип алгоритма, за которым следует фраза -t после команды ssh-keygen, а также вы можете указать размер в битах вместе с ним, за которым следует -b фраза. Пример следующий,

$ssh-keygen -tRSA-b 4096

Как вы можете видеть на скриншоте, тип алгоритма ключа - RSA, а размер в битах - 4096. Это здорово.

Копирование ключа SSH на хост

Вы можете просто скопировать SSH-ключ на хост, выполнив приведенную ниже команду в клиентском терминале.

$ssh-copy-id имя пользователя@host-ip-address

Обязательно замените имя пользователя и IP-адрес хоста на свое имя пользователя и IP-адрес хоста. Имя пользователя и IP-адрес моего хоста:

Имя пользователя: linuxuser
IP-адрес: 192.168.18.131

На этом этапе вы можете столкнуться с ошибкой соединения, которое отклонено портом 22. В случае возникновения ошибки, пожалуйста, посетите нашу специальную статью (Как исправить: соединение отклонено портом 22 Debian / Ubuntu - Linux Hint) для обработки такой ошибки.

После выполнения вышеуказанной команды вы получите подтверждение о продолжении соединения; введите да, чтобы продолжить.

После успешного копирования вы готовы войти в систему на сервере, используя ключ SSH.

Авторизуйтесь на сервере

После успешного копирования ключа SSH на хост мы можем войти на хост, используя команду ssh и указав имя пользователя и IP-адрес хоста, используя следующий синтаксис.

$sshимя пользователя@host-ip-address

Не забудьте заменить имя пользователя и IP-адрес на имя пользователя и IP-адрес вашего хоста.

И вот теперь вы вошли в систему на хост-машине, если наберете команду ip a в терминале.

$ipк

Он покажет IP-адрес хост-машины, потому что вы находитесь на сервере прямо сейчас.

Заворачивать

Вот как вы можете сгенерировать ключи SSH, скопировать их на хост-машину и получить доступ к хосту с помощью ключей SSH. Большое спасибо!