Ответ
Мои действия зависят от среды (облако/on-premise) и доступных инструментов.
В облачной среде (AWS EC2, GCP Compute Engine, Azure VM):
- Проверю статус ВМ в консоли. Убеждаюсь, что инстанс в состоянии
running, а неstoppedилиterminated. - Использую встроенную консоль восстановления. Это ключевой инструмент:
- AWS:
EC2 Instance ConnectилиSession Manager(если на ВМ установлен SSM Agent). - GCP:
Serial console. - Azure:
Serial consoleилиRun Command. Через них можно проверить сеть, демоны (например,sshd), логи (/var/log/auth.log,/var/log/secure) и исправить конфигурацию SSH.
- AWS:
- Проверю правила безопасности. Убеждаюсь, что Security Group/Network ACL разрешает входящие подключения на порт 22 с моего IP-адреса.
- Подключу диск к другой ВМ. В крайнем случае, если файловая система повреждена, создам снапшот диска и подключу его к другой, рабочей ВМ для анализа и восстановления критичных конфигов.
В on-premise среде (vSphere, KVM, Hyper-V):
- Проверю доступ через гипервизор. Подключусь к консоли ВМ напрямую через vSphere Client или Virt-Manager, чтобы обойти проблемы с сетью.
- Проверю сетевое подключение хоста. Убежусь, что физический хост, на котором работает ВМ, имеет связь с сетью.
- Восстановлюсь из бэкапа. Если ВМ критична и консоль не помогает, разверну её из последней успешной резервной копии.
Общая диагностика с другой машины в той же сети:
# Проверяем, доступен ли порт 22
nc -zv <IP_VM> 22
# Если порт закрыт, проверяем, отвечает ли ВМ вообще (ARP, ping)
arp -a | grep <IP_VM>
ping -c 2 <IP_VM>