#google-cloud-platform #ssh #google-compute-engine
# #google-облачная платформа #ssh #google-compute-engine
Вопрос:
У меня проблема с доступом по SSH в моем Google Compute Engine. Я создал сервер, настроил на нем приложение и настроил домен, и все работает. Через несколько дней, когда я хотел подойти к ней, чтобы внести изменения, мой SSH не работал. У меня есть одно предположение, что я включил брандмауэр и не добавил правило для SSH, может быть, это проблема? Но как теперь получить доступ к компьютеру и включить его?
Заранее спасибо.
Ответ №1:
Чтобы решить вашу проблему, вы можете подключиться к экземпляру виртуальной машины через последовательную консоль. Перед подключением к виртуальной машине через последовательную консоль проверьте, включены ли подключения к экземпляру виртуальной машины в брандмауэре GCP.
Пожалуйста, ознакомьтесь с пошаговыми инструкциями ниже:
- Включить последовательное консольное соединение с
gcloud
помощью команды:gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE --metadata serial-port-enable=TRUE
или перейдите в Compute Engine
-> VM instances
-> нажмите NAME_OF_YOUR_VM_INSTANCE
-> нажмите EDIT
-> перейдите в раздел Remote access
и проверьте Enable connecting to serial ports
- Создайте временного пользователя и пароль для входа в систему: выключите виртуальную машину и задайте сценарий запуска, добавив в раздел
Custom metadata
ключstartup-script
и значение:#!/bin/bash useradd --groups google_sudoers tempuser echo "tempuser:password" | chpasswd
а затем запустите свою виртуальную машину.
- Подключитесь к своей виртуальной машине через последовательный порт с
gcloud
помощью команды:gcloud compute connect-to-serial-port NAME_OF_YOUR_VM_INSTANCE
или перейдите в
Compute Engine
->VM instances
-> нажмите наNAME_OF_YOUR_VM_INSTANCE
-> и нажмите наConnect to serial console
- Проверьте, что пошло не так.
- Отключите доступ через последовательный порт с
gcloud
помощью команды:gcloud compute instances add-metadata NAME_OF_YOUR_VM_INSTANCE --metadata serial-port-enable=FALSE
или перейдите в Compute Engine
-> VM instances
-> нажмите NAME_OF_YOUR_VM_INSTANCE
-> нажмите EDIT
-> перейти к разделу Remote access
и снимите флажок Enable connecting to serial ports
. Имейте в виду, что в соответствии с документацией, взаимодействующей с последовательной консолью:
Внимание: интерактивная последовательная консоль не поддерживает ограничения доступа на основе IP, такие как белые списки IP. Если вы включите интерактивную последовательную консоль на экземпляре, клиенты могут попытаться подключиться к этому экземпляру с любого IP-адреса. Любой может подключиться к этому экземпляру, если он знает правильный SSH-ключ, имя пользователя, идентификатор проекта, зону и имя экземпляра. Используйте правила брандмауэра для управления доступом к вашей сети и определенным портам.
Кроме того, посмотрите на сторонний пример решения проблемы блокировки вычислительного движка.
Если вам не удалось подключиться через последовательную консоль, проверьте журналы:
- Перейдите в
Compute Engine
->VM instances
-> нажмите на NAME_OF_YOUR_VM -> вVM instance details
разделе «Найти журналы» и нажмитеSerial port 1 (console)
- Перезагрузите экземпляр виртуальной машины еще раз.
- Проверьте полный журнал загрузки на наличие ошибок или / и предупреждений.
Если вы обнаружили ошибки / предупреждения, связанные с дисковым пространством, вы можете попытаться изменить его размер в соответствии с документацией по изменению размера зонального постоянного диска, а также в соответствии со статьей Восстановление недоступного экземпляра или полного загрузочного диска:
Если ничего не помогло, попробуйте следовать другим рекомендациям из документации по устранению неполадок SSH и обновите свой вопрос своими попытками.