Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

SSH для чайников: как изменить стандартный порт 22 для защиты сервера от взлома

Обновлено: 27.08.2026 · Официальная документация ↗

Зачем менять порт 22 на сервере Linux

Как только новый сервер подключается к сети интернет, тысячи автоматизированных хакерских скриптов (ботов) начинают непрерывно долбить стандартный порт 22 TCP, пытаясь подобрать пароли к учетным записям (Brute-Force атака). Если открыть системный журнал /var/log/auth.log, можно увидеть миллионы строк неудачных попыток входа в секунду. Это нагружает процессор и забивает дисковые логи. Перенос службы управления на нестандартный порт отсекает 99% автоматического мусорного трафика.

Принцип выбора нового порта

Выбирайте любой свободный номер порта в безопасном диапазоне от 1024 до 65535 (рекомендуется от 20000 до 60000, например: 2222, 45222, 50022).

Пошаговая инструкция по смене порта SSH

Золотое правило безопасности: Ни в коем случае не закрывайте ваше текущее окно терминала, пока не выполните все шаги и не проверите вход в новом окне!

Шаг 1: Разрешение нового порта в файрволе UFW

Если на сервере включен межсетевой экран, первым делом откройте ваш новый порт (например, 2222):

sudo ufw allow 2222/tcp comment 'SSH Custom Port'
sudo ufw status

Шаг 2: Изменение конфигурации OpenSSH Server

Откройте файл конфигурации в редакторе nano:

sudo nano /etc/ssh/sshd_config

Найдите строку #Port 22 (символ решетки означает, что параметр закомментирован). Удалите решетку # и замените номер порта:

Port 2222

Сохраните изменения комбинацией Ctrl + O -> Enter, затем выйдите Ctrl + X.

Шаг 3: Проверка синтаксиса на опечатки

Обязательно протестируйте файл перед перезапуском демона:

sudo sshd -t

(Если команда выполнилась молча — синтаксис идеален. Если вывела ошибку — исправьте опечатку в sshd_config).

Шаг 4: Перезапуск службы SSH

sudo systemctl restart ssh
 или на CentOS / RHEL:
sudo systemctl restart sshd

Шаг 5: Проверка подключения в НОВОЙ сессии

Не закрывая первое окно, откройте новую вкладку терминала на своем рабочем ПК и подключитесь, явно указав новый порт флагом -p:

ssh -p 2222 ubuntu@IP_вашего_сервера

Если подключение прошло успешно, вернитесь в первое окно и удалите старое правило 22 порта из файрвола: sudo ufw delete allow 22/tcp.

Типовые ошибки администраторов

  • Особенность Ubuntu 22.10 / 24.04 (systemd socket activation): В новейших версиях Ubuntu служба SSH управляется сокетом systemd. Смена порта в sshd_config может не примениться, пока вы не измените порт в файле /lib/systemd/system/ssh.socket (параметр ListenStream=2222) и не выполните sudo systemctl daemon-reload && sudo systemctl restart ssh.socket.
  • Забытый порт в PuTTY / WinSCP: При использовании графических клиентов не забывайте менять цифру в поле «Port» со стандартного 22 на ваш новый номер.
Хотите обеспечить комплексную эшелонированную защиту периметра серверов?
ITSTM настроит защиту от подбора паролей Fail2ban / CrowdSec, двухфакторную аутентификацию (2FA) и изолированные Jump-серверы для безопасного доступа администраторов.
💡 Практика специалистов: Чтобы администраторам не приходилось каждый раз вручную вводить '-p 2222' при каждом входе, создайте локальный конфигурационный файл '~/.ssh/config' на своем рабочем ноутбуке с блоком параметров: 'Host myserver \n HostName IP_СЕРВЕРА \n Port 2222 \n User ubuntu'.

Частые вопросы (FAQ)

Как указать нестандартный порт при передаче файлов через SCP?

В утилите scp флаг порта пишется с заглавной буквы -P: scp -P 2222 file.txt user@server_ip:/tmp/.

Что делать, если я забыл открыть порт в файрволе и потерял доступ?

Подключитесь через веб-консоль KVM/VNC в панели управления вашего облачного хостинга и выполните: sudo ufw allow НОВЫЙ_ПОРТ/tcp.

Защищает ли смена порта от целенаправленной хакерской атаки?

Смена порта защищает от массовых автоматических ботов. Профессиональный сканер портов (nmap) обнаружит службу SSH за пару секунд. Поэтому в дополнение к смене порта обязательно отключайте парольный вход в пользу SSH-ключей.

Как проверить, какой порт слушает SSH прямо сейчас на сервере?

Выполните команду: sudo ss -tulpn | grep ssh.

Полезные материалы
Рекомендуем