Как настроить ключи SSH в CentOS 8

Как настроить ключи SSH в CentOS 8

 

В этом руководстве мы покажем вам, как настроить ключи SSH. Для тех из вас, кто не знал, Secure Shell (SSH) — это криптографический сетевой протокол, предназначенный для безопасного соединения между клиентом и сервером. Как правило, у клиентов есть два способа получить доступ к своим серверам — с использованием аутентификации на основе пароля или аутентификации на основе открытого ключа. Настоятельно рекомендуется использовать ключи SSH для аутентификации как более безопасную альтернативу паролям.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить sudo к командам для получения привилегий root. Я покажу вам пошаговую установку и настройку ключей SSH на сервере CentOS 8.

Настройка ключей SSH в CentOS 8

Шаг 1. Сначала давайте начнем с проверки актуальности вашей системы.

sudo dnf update

Шаг 2. Создание ключей SSH в CentOS 8.

Начните с входа на исходный компьютер (локальный сервер) и создания 4096-битной пары ключей RSA с помощью команды:

ssh-keygen -t rsa -b 4096 -C "your_email@infoit.com.ua"

После ввода команды вы должны увидеть следующее приглашение:

Enter file in which to save the key (/home/your-username/.ssh/id_rsa):

Чтобы сохранить файл в предложенном каталоге, нажмите Enter. Как вариант, вы можете указать другое местоположение.

Далее подсказка продолжится:

Enter passphrase (empty for no passphrase):

Наконец, вывод завершится указанием следующей информации:

Your identification has been saved in home/your_username/.ssh/id_rsa.
Your public key has been saved in home/your_username/.ssh/id_rsa.pub.
The key fingerprint is:
KYg355:gKmeiU5NQ-ramona5Ji57F8iO6c0K6GUr5:BMWRk
username@hostname
The key's randomart image is:
+------[RSA 3072]-------+
|       .oo.            |
|        +o+.           |
|      + +.+            |
| o  +          S .     |
|      .    E  .   . =.o|
|    .  +       .   B+@o|
|        +   .     oo*=O|
|   oo            . .+o+|
|                 o=ooo=|
+------ [SHA256] ------+

Шаг 3. Скопируйте открытый ключ на сервер CentOS.

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

ssh-copy-id username@server_ip_address

После аутентификации пользователя содержимое файла открытого ключа ( ) будет добавлено к файлу удаленного пользователя , и соединение будет закрыто.~/.ssh/id_rsa.pub~/.ssh/authorized_keys

Наконец, в выходных данных указано количество добавленных ключей, а также четкие инструкции о том, что делать дальше:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

Шаг 4. Подключитесь к удаленному серверу с помощью ключей SSH.

После выполнения описанных выше действий вы сможете войти на удаленный сервер без запроса пароля:

ssh remote_username@server_ip_address

Шаг 5. Отключите аутентификацию по паролю.

Хотя вам удалось получить доступ к серверу CentOS без необходимости указывать пароль, на нем все еще есть система аутентификации на основе пароля, работающая на машине. Это делает его потенциальной целью для атак методом грубой силы. Выполните следующие действия, чтобы отключить аутентификацию по паролю SSH:

ssh sudo_user@server_ip_address

Откройте файл конфигурации SSH /etc/ssh/sshd_config:

sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Как только вы закончите, сохраните файл и перезапустите службу SSH:

sudo systemctl restart ssh

Поздравления! Вы успешно установили SSH-сервер . Благодарим за использование этого руководства для установки и настройки ключей SSH в системах CentOS 8. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт SSH .