Как сменить порт SSH 22 на нестандартный в Ubuntu: защита от ботов
Файл системного журнала /var/log/auth.log или journalctl переполнен тысячами записей Failed password for invalid user root from ... из-за непрерывных автоматических атак ботов, сканирующих стандартный 22 порт.
Зачем менять порт SSH?
Большинство автоматических ботов сканируют интернет исключительно по стандартному порту 22. Перенос SSH на случайный порт (например, 2244) снижает шум в логах и отсекает 99% автоматических брутфорс-атак.
Шаг 1. Выберите свободный порт
Рекомендуется выбирать порт в диапазоне от 1024 до 65535 (например: 2244 или 48122), который не занят другими сервисами.
Шаг 2. Откройте новый порт в фаерволе UFW (Критически важно!)
sudo ufw allow 2244/tcp
sudo ufw reloadШаг 3. Редактирование конфигурации SSH (/etc/ssh/sshd_config)
Откройте файл конфигурации:
sudo nano /etc/ssh/sshd_config- Найдите строку
#Port 22. - Раскомментируйте ее (удалите знак решетки
#) и укажите ваш новый номер порта:Port 2244 - Сохраните изменения:
Ctrl + O, затемEnter, иCtrl + X.
Шаг 4. Перезапуск службы SSH
sudo systemctl restart ssh || sudo systemctl restart sshdШаг 5. Проверка подключения (НЕ ЗАКРЫВАЯ текущий терминал!)
Откройте новое второе окно терминала на вашем компьютере и проверьте вход по новому порту:
ssh -p 2244 username@IP_СЕРВЕРАЕсли вход успешен, можно удалить старое правило 22 порта из фаервола: sudo ufw delete allow 22/tcp.
Частые вопросы (FAQ)
Что делать, если в Ubuntu 22.10 / 24.04 смена порта в sshd_config не работает?
В новых версиях Ubuntu используется активация сокетов systemd (ssh.socket). Отредактируйте сокет: sudo systemctl edit ssh.socket, добавив строки: [Socket] ListenStream= ListenStream=2244, затем выполните sudo systemctl daemon-reload && sudo systemctl restart ssh.socket.
Как подключиться через WinSCP или PuTTY по новому порту?
В окне подключения в поле 'Port number' (Номер порта) сотрите цифру 22 и введите ваш новый номер (например, 2244).
Спасет ли смена порта от целенаправленной хакерской атаки?
Смена порта защищает от фоновых автоматических сканеров, но профессиональный порт-сканер (nmap) легко найдет открытый порт. Для максимальной безопасности отключите вход по паролю и используйте только SSH-ключи.
Что делать, если я ошибся с портом и потерял доступ к серверу?
Откройте панель управления вашего VPS-хостинга, войдите через аварийную веб-консоль (VNC / KVM) и исправьте файл /etc/ssh/sshd_config обратно на порт 22.