
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию добавляет дополнительный уровень безопасности вашему серверу, снижая риск автоматизированных атак.
В этом руководстве объясняется, как изменить порт SSH по умолчанию в Linux. Мы также покажем, как настроить брандмауэр для доступа к новому порту SSH.
Лучший способ защитить свой сервер от атак — настроить брандмауэр так, чтобы он разрешал доступ к порту 22 только с доверенных хостов, и настроить аутентификацию на основе ключей SSH .
Изменение порта SSH
Изменить порт SSH образа очень просто. Достаточно отредактировать файл конфигурации SSH и перезапустить службу.
В следующих разделах объясняется, как изменить порт SSH в системе Linux.
1. Выбор нового номера порта
В Linux порты ниже 1024 зарезервированы для известных служб и могут быть подключены только с правами root. Хотя для службы SSH можно использовать порт в диапазоне от 1 до 1024, чтобы избежать проблем с распределением портов в будущем, рекомендуется выбирать порт выше 1024.
В этом примере мы изменим порт SSH на 5522, вы можете выбрать любой другой порт.
2. Настройка брандмауэра
Перед изменением порта SSH вам необходимо настроить брандмауэр, чтобы разрешить трафик через новый порт SSH.
Если вы используете UFW, инструмент настройки брандмауэра по умолчанию для Ubuntu, выполните следующую команду, чтобы открыть новый порт SSH:
sudo ufw allow 5522/tcp
В CentOS инструмент управления брандмауэром по умолчанию — FirewallD. Чтобы открыть новый порт, выполните:
sudo firewall-cmd --permanent --zone=public --add-port=5522/tcpsudo firewall-cmd --reload
Пользователям CentOS также необходимо настроить правила SELinux:
sudo semanage port -a -t ssh_port_t -p tcp 5522
Если вы используете iptables в качестве брандмауэра, чтобы открыть новый порт, выполните:
sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
3. Настройка SSH
Откройте файл конфигурации SSH /etc/ssh/sshd_config с помощью текстового редактора:
sudo vim /etc/ssh/sshd_config
Найдите строку, начинающуюся с Port 22 В большинстве случаев эта строка начинается с символа # . Удалите символ # и введите новый номер порта SSH:
/etc/ssh/sshd_config
Port 5522
Будьте особенно осторожны при изменении файла конфигурации SSH. Неправильная конфигурация может привести к сбою запуска службы SSH.
После этого сохраните файл и перезапустите службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart ssh
В CentOS служба ssh называется sshd :
sudo systemctl restart sshd
Чтобы убедиться, что демон SSH прослушивает новый порт 5522, введите:
ss -an | grep 5522
Вывод должен выглядеть примерно так:
tcp LISTEN 0 128 0.0.0.0:5522 0.0.0.0:* tcp ESTAB 0 0 192.168.121.108:5522 192.168.121.1:57638 tcp LISTEN 0 128 [::]:5522 [::]:*
Использование нового порта SSH
Чтобы указать порт, вызовите команду ssh , а затем опцию -p :
ssh -p 5522 username@remote_host_or_ip
Если вы регулярно подключаетесь к нескольким системам, вы можете упростить свой рабочий процесс, определив все свои соединения в файле конфигурации SSH .
Заключение
В этом руководстве вы узнали, как изменить порт SSH на сервере Linux. Вам также следует настроить аутентификацию по ключу SSH и подключаться к своим серверам Linux без ввода пароля.
Если у вас возникнут какие-либо вопросы, не стесняйтесь оставлять комментарии.
Связанные руководства