Тариф успешно добавлен в корзину
В корзину
url image

Как поменять (изменить) порт у SSH сервера

SSH — это сетевой протокол прикладного уровня. Он позволяет безопасно передавать сетевые пакеты. Его используют для удаленного подключения к операционной системе, передачи файлов (как копирование обычных файлов, так и потоковая передача данных, например, с веб-камеры), подключения к базам данных, удаленного запуска команд и т.д.

Данный протокол шифрует все данные, включая пароли, поэтому он считается безопасным. Однако для того, чтобы злоумышленники не получили доступ к учётным данным пользователя, у которого есть доступ по SSH, рекомендуется обезопасить свой сервер.

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

Помимо смены порта можно настроить блокировку количества попыток подключений к серверу (например, с помощью утилиты fail2ban), отключить подключение по SSH пользователя root, отказаться от простых и угадываемых логинов (таких как admin, ivanov, zabbix и пр.), настроить запрет подключения по паролю и включить подключение только по ключу (требуется предварительная настройка и проверка, иначе можно потерять доступ к серверу по SSH).

Как правило для подключения по SSH в терминале Linux используется следующая команда:

# ssh username@ip_address

Если изменить порт, то при подключении к серверу по SSH нужно явно указывать порт (возьмем для примера порт 2233):

# ssh -p 2233 username@ip_address

Для подключения с ОС Windows обычно используют специальные программы, например, PuTTy или MobaXterm. В них всегда можно явно указать порт подключения по SSH.

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

Конфигурационный файл

Обязательно проверьте, что порт, на который мы хотим заменить стандартный порт SSH, не занят другими службами. Это можно сделать с помощью утилиты netstat. Для этого потребуется установить пакет net-tools.

Debian/Ubuntu

# apt install net-tools
# netstat -tulpan | grep 22

CentOS/AlmaLinux

# yum install net-tools
# netstat -anp | grep 22

Вывод будет примерно таким:

tcp    0  0 0.0.0.0:22          0.0.0.0:*           LISTEN    132394/sshd: /: 

tcp6   0  0 :::22               :::*                            LISTEN    132394/sshd: 

Видим, что порт 22 занят. Проверим 2233:

#netstat -tulpan | grep 2233 для Ubuntu/Debian

или

# netstat -anp | grep 2233 для CentOS/AlmaLinux

Вывод пуст, можно занимать.

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

# vim /etc/ssh/sshd_config

или

# nano /etc/ssh/sshd_config

Ищем строку:

Port 22

Если строка начинается с символа #, его нужно удалить, и вместо 22 порта написать любой другой, например, 2233. Сохраняем изменения.

Перезапуск SSH

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

Debian/Ubuntu

# systemctl restart ssh

CentOS/AlmaLinux

# systemctl restart sshd

Так как текущая сессия SSH ещё активна, можно открыть новое окно и проверить, что подключение по новому порту работает:

# ssh username@ip_address -p2233

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

Проверка

Debian/Ubuntu

# netstat -tulpan | grep ssh

CentOS/AlmaLinux

# netstat -anp | grep ssh

Если все нормально, увидим похожий результат:

tcp        0      0 *:2233                  *:*                     LISTEN      3849/sshd       

tcp6       0      0 [::]:2233               [::]:*                  LISTEN      3849/sshd

или

root     sshd       813   3  tcp6   *:2233                *:*

root     sshd       813   4  tcp4   *:2233                *:*

Готово. Мы сменили стандартный порт SSH на нестандартный, таким образом усилив безопасность своего сервера

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!