По умолчанию SSH-сервер использует порт 22 для удаленного подключения. Изменение стандартного SSH-порта не является полноценной защитой от атак, однако позволяет значительно сократить количество автоматических сканирований и попыток подбора паролей.
В данной инструкции рассмотрена смена SSH-порта на серверах под управлением Ubuntu, Debian и других Linux-дистрибутивов.
Что потребуется
Перед началом убедитесь, что у вас есть:
- VPS или выделенный сервер с Linux;
- Root-доступ к серверу;
- SSH-доступ к серверу;
- Доступ к консоли сервера через панель управления провайдера на случай ошибки конфигурации.
Шаг 1. Выбор нового SSH-порта
Выберите новый порт для SSH.
Например:
2222или22222
Не рекомендуется использовать:
22, 23, 80, 443, 3306
Порт должен быть свободен и не использоваться другими службами.
Шаг 2. Проверка свободного порта
Убедитесь, что выбранный порт не занят:
ss -tulnp | grep 2222
Если команда не выводит результатов, порт свободен.
Шаг 3. Изменение конфигурации SSH
Откройте файл конфигурации SSH:
nano /etc/ssh/sshd_config
Найдите строку:
#Port 22илиPort 22
Измените её на:
Port 2222
Замените 2222 на выбранный вами порт.
Сохраните файл.
Шаг 4. Проверка конфигурации
Перед перезапуском службы рекомендуется проверить конфигурацию:
sshd -t
Если ошибок нет, команда завершится без вывода сообщений.
На некоторых системах используется:
/usr/sbin/sshd -t
Шаг 5. Настройка Firewall
Если используется UFW, откройте новый порт:
ufw allow 2222/tcp
Убедитесь, что новый порт разрешен:
ufw status
Только после этого можно закрыть порт 22.
При использовании iptables:
iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
Не забудьте сохранить правила firewall.
Шаг 6. Перезапуск SSH
Перезапустите SSH-сервер:
systemctl restart ssh
или:
systemctl restart sshd
В зависимости от дистрибутива.
Проверьте состояние службы:
systemctl status ssh
Шаг 7. Проверка нового подключения
Не закрывайте текущую SSH-сессию.
Откройте новое окно терминала и подключитесь:
ssh -p 2222 root@SERVER_IP
Пример:
ssh -p 2222 root@192.168.1.100
Если подключение успешно, новый порт работает корректно.
Шаг 8. Закрытие стандартного порта 22
После успешной проверки можно удалить правило для порта 22.
Для UFW:
ufw delete allow 22/tcp
Для iptables:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT
Подключение через PuTTY
Для подключения через PuTTY:
- Откройте PuTTY.
- В поле Host Name укажите IP-адрес сервера.
- В поле Port укажите новый SSH-порт.
- Нажмите Open.
- Выполните авторизацию.
Проверка открытого порта
Убедитесь, что SSH слушает новый порт:
ss -tulnp | grep ssh
Пример результата:
LISTEN 0 128 0.0.0.0:2222
Частые ошибки
Connection refused
Проверьте:
- открыт ли порт в firewall;
- запущена ли служба SSH;
- правильно ли указан номер порта.
Connection timed out
Убедитесь, что новый порт разрешен на уровне firewall VPS и не блокируется провайдером.
Потерян доступ к серверу
Используйте встроенную консоль VPS через панель управления провайдера и восстановите настройки в файле:
/etc/ssh/sshd_config
SSH не запускается после изменения порта
Проверьте конфигурацию:
sshd -t
Изучите журнал ошибок:
journalctl -u ssh
или:
journalctl -u sshd
Рекомендации по безопасности
- Используйте SSH-аутентификацию по ключу.
- Отключите вход по паролю.
- Ограничьте доступ через Firewall.
- Установите Fail2Ban для защиты от перебора паролей.
- Регулярно обновляйте сервер.
Изменение стандартного SSH-порта не заменяет полноценные меры безопасности, однако помогает снизить количество автоматизированных атак и уменьшить нагрузку на SSH-сервер.