Как изменить порт SSH в Linux

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

В этом руководстве объясняется, как изменить порт SSH по умолчанию в Linux. Мы также покажем вам, как настроить брандмауэр, чтобы разрешить доступ к новому порту SSH.

Лучший способ защитить ваш сервер от атак — настроить брандмауэр так, чтобы он разрешал доступ к порту 22 только с доверенных хостов, и настроить аутентификацию на основе ключа SSH .

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

Изменить SSH-порт изображения — простая задача. Все, что вам нужно сделать, это отредактировать файл конфигурации SSH и перезапустить службу.

В следующих разделах объясняется, как изменить порт SSH в системе Linux.

1. Выбор нового номера порта

В Linux номера портов ниже 1024 зарезервированы для хорошо известных служб и могут быть связаны только с пользователем root. Хотя вы можете использовать порт в диапазоне 1-1024 для службы SSH, чтобы избежать проблем с распределением портов в будущем, рекомендуется выбрать порт выше 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 <port_number> :

ssh -p 5522 username@remote_host_or_ip

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

Выводы

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

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Оставьте комментарий