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