Как установить SSH на Rocky Linux 9 или 8

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

Чтобы настроить SSH в Rocky Linux 9 или 8, вы можете выполнить простой процесс установки, используя репозитории по умолчанию. В этом руководстве вы ознакомитесь с шагами установки и получите советы по начальной настройке для повышения безопасности и удобства использования.

Обновите Rocky Linux перед установкой SSH

Перед установкой и настройкой SSH в Rocky Linux важно убедиться, что пакеты вашей системы актуальны. Это не только гарантирует бесперебойную работу, но и минимизирует потенциальные программные конфликты.

Чтобы обновить вашу систему Rocky Linux, используйте команду:

sudo dnf upgrade --refresh

Установите SSH с помощью команды DNF

Следующий шаг включает проверку того, установлен ли сервер OpenSSH в вашей системе Rocky Linux. Это можно выяснить, выполнив команду:

rpm -qa | grep openssh-server

Эта команда вернет соответствующий вывод, если сервер OpenSSH установлен. Если вывода нет, то это указывает на отсутствие сервера OpenSSH в вашей системе. Чтобы решить эту проблему и установить сервер OpenSSH, используйте следующую команду:

sudo dnf install openssh-server

Включение службы SSH (SSHD)

После успешной установки сервера OpenSSH необходимо включить службу SSHD в рамках systemd framework. Это гарантирует автоматическую инициализацию SSH-демона после каждой перезагрузки системы. Для этого выполните команду:

sudo systemctl enable sshd

Поскольку служба SSHD теперь настроена на автозапуск, вы можете вручную запустить SSH-сервер с помощью:

sudo systemctl start sshd

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

sudo systemctl status sshd

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

sudo ss -lt

Подключение к удаленному серверу через SSH в Rocky Linux 9 или 8

Правильно настроив SSH в вашей системе Rocky Linux, теперь вы можете устанавливать подключения к удаленным серверам. Вот подробное описание того, как использовать SSH для различных сценариев подключения.:

Подключение с использованием аутентификации по паролю с помощью SSH в Rocky Linux

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

ssh username@remote_server

Здесь замените “username” своим фактическим именем пользователя, а “remote_server” — IP-адресом или именем хоста желаемого удаленного сервера. После выполнения вам будет предложено ввести свой пароль для аутентификации.

Подключение с использованием аутентификации с открытым ключом по SSH

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

ssh -i /path/to/private_key username@remote_server

В этой команде замените “/path /to /private_key” на путь, ведущий к вашему файлу закрытого ключа. Аналогичным образом замените “username” на свое имя пользователя, а “remote_server” — на IP-адрес или имя хоста удаленного сервера. Этот метод устраняет необходимость ввода пароля, полагаясь вместо этого на предоставленный закрытый ключ для аутентификации.

Указание альтернативного порта для подключения по SSH

Хотя по умолчанию для подключений используется порт SSH 22, некоторые удаленные серверы могут работать через другие порты. Чтобы указать альтернативный порт во время подключения, используйте:

ssh -p 2222 username@remote_server

В этом примере замените “2222” номером порта, который использует удаленный сервер.

Безопасная передача файлов с помощью SCP по SSH

SCP, или Безопасное копирование, — это мощная утилита командной строки, которая облегчает безопасную передачу файлов между системами по SSH. Чтобы перенести файл из вашей локальной системы Rocky Linux на удаленный сервер, есть такая команда:

scp /path/to/local/file username@remote_server:/path/to/remote/directory

Замените «/path/to/local/file” на путь к файлу, который вы собираетесь перенести. Аналогичным образом измените “username” на свое имя пользователя, “remote_server” на IP-адрес или имя хоста удаленного сервера, а “/path/to/remote/directory” на путь к каталогу на удаленном сервере, куда вы хотите поместить переданный файл.

Настройка SSH в Rocky Linux

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

Отключение аутентификации GSSAPI для SSH

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

GSSAPIAuthentication no

Изменение таймаутов сеанса SSH для SSH

Настройка таймаутов сеанса может помочь управлять неактивными сеансами SSH. Чтобы настроить сервер на отправку сообщения о сохранении активности каждые 5 минут и завершение сеанса, если два последовательных сообщения остаются без ответа, добавьте следующее:

ClientAliveInterval 300
ClientAliveCountMax 2

Запрещающий вход Root для SSH

Для повышения безопасности, особенно от атак методом перебора, рекомендуется отключить вход с правами root. Этого можно достичь с помощью:

PermitRootLogin no

Реализация аутентификации с открытым ключом для SSH

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

ssh-keygen -t rsa -b 4096

Далее перенесите открытый ключ на нужный удаленный сервер:

ssh-copy-id user@remote_server

Убедитесь, что вы заменили “user” своим именем пользователя, а “remote_server” — соответствующим IP-адресом или именем хоста. Наконец, включите аутентификацию по открытому ключу в конфигурации SSH:

PubkeyAuthentication yes

Ограничение доступа для SSH

Вы можете ограничить доступ по SSH для определенных пользователей или групп для дополнительной безопасности. Чтобы реализовать это, добавьте следующее:

AllowUsers user1 user2
AllowGroups group1 group2

Замените (user и group) фактическими именами пользователей или названиями групп, которым вы хотите предоставить доступ.

Изменение SSH-порта

SSH по умолчанию работает через порт 22. Учитывая его известность, изменение этого порта может предотвратить попытки несанкционированного доступа. Чтобы назначить новый порт, используйте:

Port <port_number>

Желательно выбрать номер порта от 1024 до 65535, который не занят другой службой.

Безопасный SSH с помощью Firewalld

Обеспечьте бесперебойный доступ при работе с VPS или удаленной серверной средой. 

Перед внесением каких-либо изменений в Firewalld, особенно если вы получаете удаленный доступ к системе, обязательно внесите свой IP-адрес в белый список. Невыполнение этого требования может привести к непреднамеренной блокировке доступа к серверу после применения изменений брандмауэра.

Чтобы внести ваш IP-адрес в белый список Firewalld, используйте следующую команду:

sudo firewall-cmd --permanent --add-source=<your_ip_address>

Замените <your_ip_address> своим фактическим IP-адресом.

Как только ваш IP-адрес будет внесен в белый список, вы можете безопасно включить службу SSH в Firewalld:

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

После внесения необходимых настроек примените новую конфигурацию Firewalld:

sudo firewall-cmd --reload

Чтобы проверить включение службы SSH в Firewalld, выполните следующее:

sudo firewall-cmd --list-services | grep ssh

Эта команда подтвердит разрешения службы SSH через брандмауэр, гарантируя, что ваши удаленные подключения остаются безопасными и доступными.

Заключение

После установки и настройки SSH в вашей системе Rocky Linux вы сможете безопасно управлять своим сервером. Регулярно обновляйте свои конфигурации SSH и применяйте лучшие методы для поддержания безопасности. Следуя советам по начальной настройке, вы обеспечиваете более безопасное и эффективное удаленное управление.