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

«Какой порт по умолчанию использует протокол SSH и как его изменить?» — вопрос из категории Linux и командная строка, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

SSH (Secure Shell) по умолчанию использует TCP-порт 22.

Изменение порта — распространённая мера базовой безопасности для уменьшения количества автоматических атак, сканирующих порт 22.

  1. Отредактируйте конфигурационный файл SSH-демона (sshd_config):
    sudo nano /etc/ssh/sshd_config
  2. Найдите или добавьте директиву Port:
    # Раскомментируйте и измените или добавьте новую строку
    Port 2222
    # Можно указать несколько портов для слушания
    Port 22
    Port 2222
  3. Обновите правила фаервола (например, для ufw):
    sudo ufw allow 2222/tcp
  4. Перезапустите SSH-сервис:
    sudo systemctl restart sshd

Подключение к серверу на нестандартном порту:

ssh username@server_ip -p 2222

Важные предостережения:

  • Не забудьте добавить новый порт в фаервол перед перезагрузкой SSH.
  • Убедитесь, что у вас есть альтернативный способ доступа к серверу (например, через консоль хостинга) на случай ошибки в конфигурации.
  • Изменение порта — это security through obscurity и не заменяет такие меры, как использование ключей вместо паролей или fail2ban.