Сменить порт на сервере или VPS для SSH

В данной статье мы рассмотрим как можно самостоятельно сменить порт для сервиса SSH на Вашем VPS или Выделенном сервере.

Выполняем подключение к серверу по SSH с помощью команды:
ssh root@IP_адрес_сервера
После этого у нас запросят пароль, нам необходимо будет его ввести.

Для более комфортного редактирования файлов установить утилиту nano, используя данную команду:
yum install nano -y
или
apt install nano -y

Как только утилита будет установлена приступаем к смене порта SSH. Редактируем конфигурационный файлы службы sshd:

 Смена порта для SSH
nano /etc/ssh/sshd_config

Ищем строку где написано Port, убираем символ «#» для того чтобы раскомментировать строчку.
Пишем наш порт, в примере мы меняем порт на 34713.
Обращаю Ваше внимание, что использовать порты можно в диапазоне от 1-65535.

Добавляем разрешение в Firewall

Далее необходимо добавить правило в firewall для того чтобы этот порт начал работать.

1. Если Вы используете iptables, то действуем этим способом:
Нам необходимо изменить разрешающее правило, вводим данную команду:
nano /etc/sysconfig/iptables

Чтобы быстро найти необходимое поле можем использовать встроенный поиск в утилиту nano. Нажимаем комбинацию клавиш CTRL+W в самом низу появится окно для поиска вносим данную строчку для поиска:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
Выполним замену dport на 34713:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 34713 -j ACCEPT

Смена порта для SSH

Сохраняем изменения, нажав на комбинацию клавиш CRTL+X, Вас спросят сохранить изменения или нет, для сохранения изменений нажимаем на кнопку «Y», далее «Enter», чтобы закрыть отредактированный файл.

Перезагружаем службу SSH:
service sshd restart

Перезагружаем службу iptables:
service iptables restart

2. Если Вы используете Firewalld, то выполните следующие шаги:

Добавляем правило для открытия порта 34713, используя команду:
firewall-cmd --permanent --add-port=34713/tcp

Если правило добавлено корректно, то нам отобразиться сообщение: success
Перезагружаем службу SSH:
service sshd restart

Перезагружаем службу firewalld:
service firewalld restart

3. Также открыть доступ по SSH можно используя CSF.
Сначала нам необходимо выполнить его установку.
Выполняем установку необходимых зависимостей для CSF (Config Server Firewall):
yum install perl-libwww-perl
yum install perl-Time-HiRes

или
apt install libtime-hires-perl

Приступаем к установке CSF:
wget https://download.configserver.com/csf.tgz
tar xvfz csf.tgz
cd csf
sh install.sh

Выполняем проверку необходимых модулей для iptables:
Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK
RESULT: csf should function on this server

Выполняем удаление других firewall, которые могут конфликтовать с CSF:
sh /usr/local/csf/bin/remove_apf_bfd.sh

Смена порта для SSH

Редактируем конфигурационный файл CSF:
nano /etc/csf/csf.conf
Ищем поле:
TESTING = "1"
Меняем значение с 1 на 0, чтобы отключить тестовый режим CSF.

Смена порта для SSH

C помощью поиска через комбинацию клавиш CTRL+W ищем строку TCP_IN и добавляем в неё наш порт в самом конце.

Смена порта для SSH

Сохраняем изменения, нажав на комбинацию клавиш CRTL+X, Вас спросят сохранить изменения или нет, для сохранения изменений нажимаем на кнопку «Y», далее «Enter», чтобы закрыть отредактированный файл.

Перезагружаем CSF командной:
csf -r
Перезагружаем службу SSH:
service sshd restart
Проверяем подключение по новому порту SSH:
ssh p номер_порта root@IP_адрес_сервера

Принимаем
Все способы