Featured image of post Настройка входа на сервер через SSH с помощью ключей на CentOS

Настройка входа на сервер через SSH с помощью ключей на CentOS

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

Настройка входа через сертификат

Чтобы использовать частные ключи для SSH входа на сервер в CentOS, выполните следующие шаги:

  1. Генерация ключевой пары SSH: используйте команду ssh-keygen для создания ключевой пары. Существует множество способов генерации ключей, такие как putty, xhell или mobaxterm, которые включают встроенные функции генерации. Например, выполните следующую команду и следуйте инструкциям:

    1. ssh-keygen -t rsa -b 4096
  2. На целевом сервере добавьте открытый ключ в список авторизованных ключей: скопируйте содержимое созданного вами открытого ключа в файл ~/.ssh/authorized_keys на целевом сервере, то есть переименуйте id_rsa.pub в authorized_keys.

  3. Настройте SSH-сервис для использования сертификатов для аутентификации. Для этого необходимо сначала изменить конфигурационный файл SSH /etc/ssh/sshd_config и включить Public Key Authentication, установив параметр в “yes”.

  4. После обновления конфигурации SSH перезапустите сервис sshd, чтобы изменения вступили в силу. Перезапустите sshd с помощью следующей команды:

    1. systemctl restart sshd
  5. Затем на клиентском компьютере, с которого вы планируете подключаться к серверу, сохраните файл сертификата в SSH-папке пользователя (по умолчанию ~/.ssh).

  6. Наконец, используйте команду, подобную следующей, для подключения к целевому серверу:

    1. ssh -i /path/to/private_key user@server_ip

    Здесь, /path/to/private_key — это путь к файлу сертификата, user — это имя пользователя, а server_ip — IP-адрес целевого сервера.


Запрет входа по паролю

Мы уже говорили о входе с использованием сертификата. Как запретить вход по паролю и разрешить только аутентификацию по сертификату?

В CentOS можно настроить только аутентификацию по сертификату, изменив конфигурационный файл SSH /etc/ssh/sshd_config. Конкретные шаги:

  1. Войдите в систему на сервер CentOS под пользователем root.

  2. Откройте конфигурационный файл SSH /etc/ssh/sshd_config и найдите следующие две строки:

    1. #PubkeyAuthentication yes
    2. #PasswordAuthentication yes
  3. Уберите символ комментария # перед строкой #PubkeyAuthentication yes и измените yes на only, т.е.:

    1. PubkeyAuthentication only

    Это значит, что разрешается только аутентификация с использованием открытого ключа (сертификата), и вход с паролем будет недоступен.

  4. Уберите символ комментария # перед строкой #PasswordAuthentication yes и измените yes на no, т.е.:

    1. PasswordAuthentication no

    Это означает, что вход по паролю будет запрещен.

  5. Сохраните изменения в файле и закройте его.

  6. Перезапустите SSH-сервис, чтобы настройки вступили в силу. Используйте следующую команду для перезапуска сервиса SSH:

    systemctl restart sshd

После завершения настройки только пользователи, обладающие соответствующим закрытым ключом (сертификатом), смогут войти на сервер CentOS. Если соответствующего ключа нет, вход будет невозможен.

Licensed under CC BY-NC-SA 4.0
Создано при помощи Hugo
Тема Stack, дизайн Jimmy