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

«Какие протоколы используются для удалённого подключения к серверу?» — вопрос из категории Сети, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для удалённого управления серверами в DevOps-практиках используются несколько ключевых протоколов, выбор зависит от операционной системы и задачи.

Основные протоколы:

  • SSH (Secure Shell, порт 22) — стандарт для безопасного доступа к Linux/Unix-серверам. Он шифрует весь сеанс, поддерживает туннелирование и аутентификацию по ключам. В DevOps его используют для ручного администрирования, выполнения скриптов через Ansible и безопасной передачи файлов (SCP/SFTP).
    # Подключение с использованием SSH-ключа
    ssh -i ~/.ssh/id_rsa user@192.168.1.10
  • RDP (Remote Desktop Protocol, порт 3389) — протокол для графического доступа к Windows-серверам. В автоматизированных средах его часто используют для начальной настройки или отладки.
  • WinRM (Windows Remote Management, порты 5985/5986) — протокол на основе SOAP для удалённого управления Windows. Это основа для инструментов автоматизации, таких как Ansible (с модулем winrm) и PowerShell Remoting.

Устаревшие/нерекомендуемые:

  • Telnet (порт 23) — передаёт данные в открытом виде. В современных инфраструктурах не используется из-за отсутствия шифрования.

Сопутствующие протоколы для управления инфраструктурой:

  • SNMP — для мониторинга сетевого оборудования (коммутаторов, маршрутизаторов).
  • API (HTTPS) — основной метод управления облачными ресурсами (AWS EC2 Instance Connect, Google Cloud IAP Tunnel) и контейнерами через их CLI.