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

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

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

Linux / DevOps

Как сменить порт SSH (22) в Linux (/etc/ssh/sshd_config) для защиты от ботов

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

Зачем менять стандартный 22-й порт SSH

Порт 22 TCP общеизвестен во всем мире как стандартный порт управления OpenSSH. Автоматизированные боты непрерывно сканируют подсети интернета, обращаясь именно на 22 порт. В логах /var/log/auth.log можно увидеть десятки тысяч попыток подбора паролей к учетной записи root в сутки. Это создает паразитную нагрузку на процессор и забивает системные журналы.

Эффект от смены порта

Перенос службы SSH на нестандартный порт (например, 2222 или 49522) отсекает 99% примитивных интернет-сканеров и ботнетов, делая сервер «невидимым» для массовых атак перебора паролей (Password Spraying).

Пошаговый регламент безопасной смены порта SSH

ВАЖНО: Не закрывайте текущее окно терминала, пока не завершите всю настройку и не проверите вход в новом окне!

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

Сначала откройте новый порт (например, 2222) в фаерволе, чтобы система не заблокировала вас:

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

Шаг 2: Редактирование конфигурации OpenSSH Server

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

sudo nano /etc/ssh/sshd_config

Найдите строку #Port 22. Раскомментируйте ее (удалите символ решетки #) и укажите ваш новый номер порта:

Port 2222

Сохраните файл (Ctrl + O -> Enter -> Ctrl + X).

Шаг 3: Проверка синтаксиса конфига на ошибки

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

sudo sshd -t

Если команда ничего не вывела — конфиг идеален. Если вывела ошибку — исправьте опечатку в файле.

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

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

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

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

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

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

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

  • Выбор зарезервированного системного порта: Не выбирайте порты, используемые другими сервисами (например, 80 HTTP, 443 HTTPS, 3306 MySQL). Выбирайте свободный порт в диапазоне от 1024 до 65535 (рекомендуется от 20000 до 60000).
  • Блокировка SELinux (на CentOS / AlmaLinux / RedHat): В системах с SELinux смена порта в sshd_config вызовет ошибку запуска службы, так как SELinux блокирует биндинг SSH на чужие порты. Решение: разрешите порт через semanage: sudo semanage port -a -t ssh_port_t -p tcp 2222.
Хотите обеспечить максимальную защиту Linux-серверов от взлома?
Инженеры ITSTM настроят беспарольный вход по криптографическим ключам Ed25519, двухфакторную аутентификацию (2FA Google Authenticator) и защиту от атак перебора Fail2ban.
💡 Практика специалистов: Чтобы администраторам каждый раз не вводить '-p 2222' и длинные IP-адреса, создайте на своем рабочем компьютере файл '~/.ssh/config' и добавьте блок: 'Host myserver \n HostName 195.20.10.5 \n Port 2222 \n User ubuntu'. После этого вход будет выполняться мгновенной командой 'ssh myserver'.

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

Как подключиться по нестандартному порту через программу PuTTY?

В главном окне PuTTY (раздел Session) введите IP-адрес сервера, а в поле 'Port' вместо числа 22 введите ваш новый порт (например, 2222).

Является ли смена порта 22 100% защитой от взлома?

Нет. Это мера класса 'Security through obscurity' (безопасность через сокрытие). Она защищает от автоматических ботов, но целенаправленный сканер портов (nmap) легко найдет открытый SSH. Главная защита — вход строго по SSH-ключам с отключением паролей.

Что делать, если в Ubuntu 22.10+ / 24.04 смена порта в sshd_config не работает?

В новейших версиях Ubuntu служба переведена на сокетную активацию systemd (ssh.socket). Нужно отредактировать файл /lib/systemd/system/ssh.socket (параметр ListenStream=2222) и выполнить: sudo systemctl daemon-reload && sudo systemctl restart ssh.socket.

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

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

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