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-адрес моего хоста:
Имя пользователя: linuxuserIP-адрес: 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. Большое спасибо!