Установка и настройка SSH на AlmaLinux 9 или Rocky Linux 9

Все администраторы серверов и разработчики используют Secure Shell (SSH) для удаленного подключения к Linux-серверам и управления ими. SSH обеспечивает зашифрованное соединение по безопасному каналу, позволяя пользователям безопасно выполнять определенные задачи, такие как передача файлов, системное администрирование и управление приложениями.

Almalinux 9 и его предыдущие версии поддерживают SSH из коробки. Другие Linux-системы на основе RPM, такие как RedHat, Rocky Linux, Oracle и CentOS, следуют тому же принципу. В этом руководстве мы рассмотрим шаги и команды для установки SSH в Almalinux 9, если его там нет, а также команды для его включения и настройки.


Зачем использовать SSH?

Причин для использования SSH любым системным администратором или разработчиком может быть множество, но вот несколько основных:

  • Он позволяет системам обмениваться данными по защищенным и зашифрованным каналам.
  • Обеспечивает передачу файлов и доступ к командной строке удаленной системы для управления ею.
  • Поддерживает туннелирование и переадресацию для расширенных сетевых задач.
  • Позволяет выполнять автоматизированные задачи с использованием ключей SSH.

Шаг 1: Установка сервера OpenSSH для Almalinux

Пакет для включения SSh на Almalinux и других подобных Linux-системах предлагает OpenSSH, который включен в системный репозиторий по умолчанию, и нам нужно выполнить команду менеджера пакетов DNF, приведенную ниже:

sudo dnf install openssh-server

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

ssh -V

Шаг 2: Включите и запустите службу SSH

Включите запуск службы SSH при загрузке и запустите ее сразу:

sudo systemctl enable --now sshd

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

sudo systemctl status sshd
Включение и запуск службы SSH

Шаг 3: Настройте брандмауэр для SSH

Если вы используете активный брандмауэр на Almalinux, разрешите серверу SSH проходить через него. По умолчанию SSH прослушивает 22 порта. Если вы работаете на облачном сервере, убедитесь, что этот порт открыт в брандмауэре вашего провайдера.

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

Чтобы проверить, разрешена ли служба SSH в брандмауэре:

sudo firewall-cmd --list-all

Шаг 4: Проверка доступа к SSH

С другой машины проверьте доступ к SSH с помощью следующей команды. Замените username на ваше имя пользователя AlmaLinux и server-ip IP-адрес вашего сервера.

ssh username@server-ip

Шаг 5: Настройте SSH для повышенной безопасности (необязательно)

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

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Отредактируйте файл конфигурации:

sudo nano /etc/ssh/sshd_config
  1. Изменение порта по умолчанию: Если по какой-то причине вы хотите изменить порт SSH по умолчанию, то в файле замените 22 на нестандартный порт, например 2222. Ознакомьтесь с подробным руководством: Как изменить порт SSH 22 на 2222?
  2. Отключение Root-логина: Предотвратите прямой root-доступ, установив значение параметра PermitRootLogin no
  3. Разрешить определенным пользователям: Ограничение доступа к SSH для определенных пользователей: AllowUsers username1 username2
  4. Отключить проверку подлинности пароля (при использовании ключей SSH) установите значение: PasswordAuthentication no. Вы также можете ознакомиться с нашим руководством — Как проверить, включена ли проверка подлинности пароля в SSH или нет? или Как отключить проверку подлинности пароля в SSH?

Сохраните файл и перезапустите службу SSH, чтобы применить изменения:

sudo systemctl restart sshd

Шаг 6: Настройка аутентификации с помощью ключа SSH (необязательно)

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

Генерирование ключей SSH на клиентской машине

Выполните следующую команду на локальной машине:

ssh-keygen -t rsa -b 4096

Сохраните пару ключей в месте по умолчанию и, по желанию, задайте кодовую фразу.

Копирование открытого ключа на сервер

Используйте ssh-copy-id для копирования открытого ключа на сервер:

ssh-copy-id username@server-ip

После этого вы сможете войти в систему без пароля:

ssh username@server-ip

Общие проблемы и исправления:

  1. Отказано в подключении:
    • Убедитесь, что служба SSH запущена:
      • sudo systemctl status sshd
    • Проверьте правила брандмауэра:
      • sudo firewall-cmd -list-all
  2. Разрешение отклонено:
    • Проверьте права доступа .ssh каталога и файлов:
      • chmod 700 ~/.ssh
      • chmod 600 ~/.ssh/authorized_keys
  3. Невозможно получить доступ после смены порта:
    • Убедитесь, что новый порт открыт в брандмауэре, и укажите его при подключении:
      • ssh -p 2222 username@server-ip

Заключение

SSH — это незаменимый инструмент системных администраторов и разработчиков для безопасного управления удаленными серверами. Следуя этому руководству, новички смогут установить SSH на свой сервер Almalinux 9 и настроить его по мере необходимости.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *