Восстановление доступа к виртуальной машине
Восстановление доступа к ВМ может понадобиться, если:
- Утрачены учетные данные пользователя ВМ.
- Была изменена публичная часть SSH-ключа.
- Невозможно подключиться по SSH.
- Не загружается ВМ.
Утрачены учетные данные пользователя ВМ
Если вы утратили закрытый ключ SSH для Linux или пароль пользователя Windows:
-
Создайте снимок диска ВМ, доступ к которой нужно восстановить.
-
Если для вас важно сохранить публичный IP-адрес, используемый текущей виртуальной машиной, сделайте этот IP-адрес статическим.
-
Остановите ВМ и отвяжите от нее публичный IP-адрес.
-
Создайте новую ВМ с диском из снимка, указав этот диск в качестве загрузочного. При создании ВМ в блоке Доступ укажите новые учетные данные для входа.
Если ранее вы делали публичный IP-адрес ВМ статическим, используйте этот IP-адрес в качестве публичного IP-адреса новой ВМ:
Консоль управленияCLITerraformВ поле Публичный IP-адрес выберите способ назначения адреса
Списоки в появившемся списке выберите зарезервированный ранее IP-адрес.В команде
yc compute instance createпередайте зарезервированный ранее IP-адрес в полеnat-addressпараметра--network-interface. Например:yc compute instance create \ ... --network-interface subnet-name=subnet-b,nat-ip-version=ipv4,nat-address=111.112.13.14 \ ...Подробнее о команде
yc compute instance createчитайте в справочнике CLI.В секции
network_interfaceресурсаyandex_compute_diskукажите зарезервированный ранее IP-адрес в параметреnat_ip_address. Например:network_interface { subnet_id = "e2lqsms4cdl3********" nat = true nat_ip_address = "111.112.13.14" }Подробнее о ресурсе
yandex_compute_diskчитайте в документации провайдера. -
Подключитесь к ВМ по SSH или RDP, используя новые учетные данные.
-
Убедившись, что новая ВМ доступна и работоспособна, удалите старую ВМ и снимок диска.
Если их не удалить, они продолжат тарифицироваться, а Yandex Cloud продолжит брать за них плату.
Если для ВМ была изменена конфигурация 'cloud-init' или сети, описанный способ может не сработать. В этом случае смотрите раздел Не загружается ВМ.
Была изменена публичная часть SSH-ключа
Проблема с доступом по SSH к ВМ на базе Linux может возникнуть, если публичная часть SSH-ключа на стороне ВМ была изменена или удалена.
Вы можете восстановить доступ по SSH к ВМ на базе Linux с помощью серийной консоли при наличии работоспособной пары SSH-ключей.
Если доступ к серийной консоли отсутствует, для восстановления публичной части SSH-ключа выполните следующие действия:
-
Остановите ВМ.
-
Сделайте снимок с загрузочного диска ВМ.
-
Создайте вспомогательную ВМ на базе Linux. Для загрузочного диска выберите операционную систему в блоке Образ загрузочного диска. Чтобы подключить диск с данными к вспомогательной ВМ, выберите ранее созданный снимок в блоке Диски и файловые хранилища.
Важно
Для загрузочного диска вспомогательной ВМ используйте образ операционной системы, отличный от того, что установлен на восстанавливаемой ВМ. Например, если на восстанавливаемой ВМ установлена Ubuntu 22.04, для вспомогательной ВМ выберите Ubuntu 20.04, Ubuntu 24.04 или другой дистрибутив. Иначе из-за совпадения UUID файловых систем вспомогательная ВМ может загрузиться с подключенного диска восстанавливаемой ВМ, а не со своего собственного.
-
Подключитесь по SSH к вспомогательной ВМ, смонтируйте диск, созданный из снимка.
-
Замените SSH-ключ, который хранится на этом диске, на работоспособный:
-
Перейдите в каталог, в котором хранится публичная часть SSH-ключа на смонтированном разделе, например:
cd /mnt/home/<имя_пользователя>/.sshПо умолчанию пользовательские SSH-ключи хранятся в каталоге
~/.sshконкретного пользователя. -
Откройте файл
authorized_keys, например, с помощью текстового редактораnano:nano authorized_keysЕсли файл отсутствует, после выполнения команды он будет создан.
-
Замените содержимое файла на публичную часть работоспособной пары SSH-ключей.
-
-
Отмонтируйте от ВМ диск с исправленным SSH-ключом:
sudo umount /mnt -
Остановите вспомогательную ВМ, отключите от нее диск с исправленным SSH-ключом.
-
Создайте новую ВМ. В блоке Образ загрузочного диска перейдите на вкладку Пользовательский и выберите диск с исправленным SSH-ключом в качестве загрузочного.
Примечание
Новая ВМ и диск с исправленным SSH-ключом должны находиться в одной зоне доступности.
-
Подключитесь к вновь созданной ВМ по SSH.
-
Удалите снимок диска, также удалите вспомогательную и старую ВМ.
Если их не удалить, они продолжат тарифицироваться, а Yandex Cloud продолжит брать за них плату.
Невозможно подключиться по SSH
Проблема может возникнуть из-за ошибки в настройках SSH, групп безопасности или сети. Для восстановления доступа подключитесь к ВМ с помощью серийной консоли и сделайте необходимые исправления.
Примечание
Вы можете воспользоваться серийной консолью, только если был установлен пароль пользователя. Иначе смотрите раздел Не загружается ВМ.
- Включите доступ к серийной консоли ВМ.
- Подключитесь к серийной консоли ВМ.
- Измените настройки SSH или сети. Если настроены группы безопасности, проверьте, чтобы в правилах был разрешен входящий трафик по протоколу TCP на порт 22.
- Подключитесь к ВМ через SSH.
Утерян SSH-ключ
Если вы устанавливали пароль для пользователя, настройте серийную консоль ВМ и подключитесь к ней. Мы рекомендуем подключаться с помощью Yandex Cloud CLI.
Если пароля для пользователя нет, сделайте снимок диска ВМ и создайте новую ВМ из снимка.
Если проблему решить не удалось:
- Создайте новый диск из снимка ВМ.
- Подключите его в качестве дополнительного диска к другой ВМ.
- Измените корневой каталог с помощью операции
сhroot. - Измените файлы конфигураций, влияющие на недоступность ВМ, например, задайте новый пароль для пользователя с помощью команды
sudo passwd <имя_пользователя>. - Отключите диск от ВМ.
- Создайте новую ВМ. В блоке Выбор образа/загрузочного диска перейдите на вкладку Пользовательские и выберите ваш диск в качестве загрузочного.
- После восстановления доступа к ВМ не забудьте удалить неиспользуемые ресурсы: виртуальные машины, диски и снимки дисков. Если их не удалить, они продолжат тарифицироваться, а Yandex Cloud продолжит брать за них плату.
Не загружается ВМ
Если ВМ не загружается, получите доступ к данным диска следующим образом:
-
Создайте снимок диска ВМ, доступ к которой нужно восстановить.
-
Создайте диск из снимка. При создании диска в поле Наполнение выберите
Снимоки укажите созданный снимок. -
Подключите диск в качестве дополнительного к вспомогательной ВМ.
Важно
Для загрузочного диска вспомогательной ВМ используйте образ операционной системы, отличный от того, что установлен на восстанавливаемой ВМ. Например, если на восстанавливаемой ВМ установлена Ubuntu 22.04, для вспомогательной ВМ выберите Ubuntu 20.04, Ubuntu 24.04 или другой дистрибутив. Иначе из-за совпадения UUID файловых систем вспомогательная ВМ может загрузиться с подключенного диска восстанавливаемой ВМ, а не со своего собственного.
-
Измените конфигурационные файлы, влияющие на загрузку ВМ или скопируйте важные данные.
-
Отключите диск от вспомогательной ВМ.
-
Если вы обнаружили и устранили проблему загрузки, создайте новую ВМ. При создании в блоке Образ загрузочного диска перейдите на вкладку Пользовательский и выберите исправленный диск в качестве загрузочного.
-
После восстановления доступа к ВМ не забудьте удалить неиспользуемые ресурсы: виртуальные машины, диски и снимки дисков. Если их не удалить, они продолжат тарифицироваться, а Yandex Cloud продолжит брать за них плату.