Введение
Secure Shell (SSH) – это криптографический протокол, который позволяет клиенту взаимодействовать с удаленным сервером в безопасной среде.
Шифрование высокого уровня защищает обмен чувствительной информацией и позволяет безопасно передавать файлы или выполнять команды на удаленных машинах.
Узнайте, как включить SSH на CentOS 7, следуя инструкциям в этом небольшом учебнике.
Предварительные требования
- Система CentOS 7 для использования в качестве SSH-сервера
- Пользователь с необходимыми разрешениями
- Доступ к командной строке (Ctrl-Alt-T)
- yum утилита (включена по умолчанию)
Установка и включение OpenSSH на CentOS 7
Пакеты программного обеспечения SSH включены в CentOS по умолчанию. Однако, если эти пакеты отсутствуют в вашей системе, легко установите их, выполнив Шаг 1, описанный ниже.
Шаг 1: Установка пакета программного обеспечения OpenSSH Server
Введите следующую команду из вашего терминала, чтобы начать процесс установки:
sudo yum –y install openssh-server openssh-clients
Эта команда устанавливает как клиентские приложения OpenSSH, так и демон сервера OpenSSH, sshd.
В этом примере система информирует нас, что последняя версия уже присутствует.
Шаг 2: Запуск службы SSH
Чтобы запустить демон SSH на сервере OpenSSH:
sudo systemctl start sshd
Когда sshd активен, он постоянно прослушивает подключения клиентов от любого из инструментов клиента. Когда запрос на подключение возникает, sshd настраивает правильное подключение.
Шаг 3: Проверка статуса sshd
Проверьте статус демона SSH:
sudo systemctl status sshd
Поскольку мы уже запустили службу, вывод подтверждает, что она активна.
Чтобы остановить демона SSH, введите:
systemctl stop sshd
Мы можем проверить, остановилась ли служба, проверив статус. Вывод показывает, что служба неактивна и время и дата последнего изменения статуса.
Шаг 4: Включение службы OpenSSH
Включите SSH, чтобы он запускался автоматически после каждой перезагрузки системы, используя команду systemctl:
sudo systemctl enable sshd
Чтобы отключить SSH после перезагрузки, введите:
sudo systemctl disable sshd
Настройка сервера OpenSSH
Правильная настройка файла конфигурации sshd усиливает безопасность сервера. Самые распространенные параметры для улучшения безопасности – это изменение номера порта, отключение входа root и ограничение доступа только для определенных пользователей.
Для редактирования этих параметров откройте файл /etc/ssh/sshd_config:
sudo vim /etc/ssh/sshd_config
Как только вы получите доступ к файлу, используя текстовый редактор (в этом примере мы использовали vim), вы можете отключить вход root и изменить номер порта по умолчанию:
- Чтобы отключить вход root:
< em>PermitRootLogin no
- Измените порт SSH на работу на нестандартном порту. Например:
Port 2002
Не забудьте раскомментировать строки, которые вы редактируете, убрав хэштег.
Сохраните и закройте файл. Перезапустите sshd:
service sshd restart
Настройки брандмауэра
После успешного включения SSH и настройки файла sshd, настройте параметры брандмауэра, чтобы избежать совместимости.
Также возможно ограничить доступ по IP для усиления безопасности подключения.
Чтобы ограничить доступ по IP, отредактируйте файл iptables, набрав:
sudo vim /etc/sysconfig/iptables
Чтобы разрешить доступ с использованием порта, определенного в файле конфигурации sshd, добавьте следующую строку в файл iptables:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2002 -j ACCEPT
Чтобы ограничить доступ к конкретному IP, например 133.123.40.166, отредактируйте строку следующим образом:
-A RH-Firewall-1-INPUT -s 133.123.40.166 -m state --state NEW -p tcp --dport 2002 -j ACCEPT
Если ваш сайт использует IPv6, и вы редактируете ip6tables, используйте строку:
-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 2002 -j ACCEPT
Сохраните и закройте файл, нажав Escape (Esc) на клавиатуре и введя:
:X
Нажмите Enter для подтверждения.
Перезапустите iptables для применения изменений:
sudo systemctl restart iptables
Вывод
В этом учебнике мы узнали, как включить SSH на сервере CentOS 7. Кроме того, мы настроили ваш брандмауэр и правила SSH для ограничения доступа.
Ваш сервер CentOS 7 теперь способен принимать подключения по SSH.