Назад | Перейти на главную страницу

Я случайно включил UFW на своем компьютере Google Cloud

Я случайно включил UFW на своем экземпляре Debian Google Cloud Compute, и, к сожалению, порт 22 сейчас заблокирован. Я пробовал всеми способами проникнуть внутрь виртуальной машины, но не смог.

Я пытаюсь получить доступ через последовательный порт, но он запрашивает у меня пользователя и пароль, которые никогда не устанавливались.

Кто-нибудь знает, что мне делать?

Этот ответ показывает два метода решения этой проблемы.

Первый способ - создать сценарий запуска, отключающий UFW. Второй метод подключает загрузочный диск к другому экземпляру и изменяет файл /etc/ufw/ufw.conf

Способ 1:

Шаг 1:

Войдите в Google Cloud Console. Перейдите в Compute Engine -> Экземпляры виртуальных машин. Щелкните свой экземпляр. Щелкните по кнопке Edit.

Шаг 2:

Прокрутите вниз до раздела «Пользовательские метаданные». Для ключа введите startup-script. В поле Value введите:

#! /bin/bash
/usr/sbin/ufw disable

Нажмите кнопку Сохранить

Шаг 3:

Перезагрузите свой экземпляр. Во время перезагрузки запустится сценарий запуска, отключающий брандмауэр UFW. Войдите в свой экземпляр, используя SSH.

Шаг 4:

Повторите шаг №2, но на этот раз удалите сценарий запуска. В противном случае брандмауэр будет отключаться при каждой загрузке вашего экземпляра.

Способ 2:

ШАГ 1:

Завершите работу вашего экземпляра с проблемой UFW. Войдите в Google Cloud Console. Перейдите в Compute Engine -> экземпляры виртуальных машин. Щелкните свой экземпляр и запишите имя «Загрузочного диска». Это будет первый диск в разделе «Загрузочный диск и локальные диски».

ШАГ 2:

Прежде чем делать что-либо, создайте снимок загрузочного диска. Пока еще в Compute Engine -> Disk. Щелкните загрузочный диск. Щелкните "СОЗДАТЬ СНИМКУ".

ШАГ 3:

Создайте новый экземпляр в той же зоне. Микроэкземпляр будет работать.

ШАГ 4:

Откройте приглашение Cloud Shell (это также работает с вашего рабочего стола, если установлен gcloud). Выполните эту команду. Замените NAME именем вашего экземпляра (неработающая система), а DISK - именем загрузочного диска, а ZONE - зоной, в которой находится система:

gcloud compute instance detach-disk NAME --disk=DISK --zone=ZONE

Убедитесь, что предыдущая команда не сообщила об ошибке.

ШАГ 5:

Теперь мы прикрепим этот диск к новому экземпляру, который вы создали.

Перед подключением второго диска убедитесь, что экземпляр восстановления запущен. Иногда экземпляр может запутаться, с какого диска загружаться, если загрузочным является более одного диска.

Перейдите в Compute Engine -> Экземпляры виртуальных машин. Щелкните свой экземпляр. Щелкните Редактировать. В разделе «Дополнительные диски» нажмите «Добавить элемент». В качестве имени введите / выберите диск, который вы отсоединили от сломанного экземпляра. Щелкните Сохранить.

ШАГ 6:

SSH в ваш новый экземпляр с подключенными обоими дисками.

ШАГ 7:

Внимательно выполните следующие действия. Второй диск мы смонтируем в корневую файловую систему. Затем измените содержимое /mnt/repair/etc/ufw/ufw.conf, чтобы отключить брандмауэр.

  • Станьте суперпользователем. Выполнить sudo -s
  • Выполните df. Убедитесь, что / dev / sdb1 не смонтирован.
  • Создайте каталог для точки монтирования: mkdir / mnt / repair
  • Смонтируйте второй диск: mount / dev / sdb1 / mnt / repair
  • Сменить каталоги: cd / mnt / repair / etc / ufw
  • Отредактируйте ufw.conf
  • + Изменить ENABLED=yes к ENABLED=no
  • Отключение ремонтной системы: остановка

ШАГ 8:

Теперь выполните процедуру в обратном порядке, переместите второй диск обратно в исходный экземпляр и повторно подключите его, используя команду ниже. Затем запустите свой экземпляр и подключитесь через SSH.

Примечание. Чтобы повторно подключить загрузочный диск, вы должны использовать gcloud с параметром -boot.

gcloud beta compute instances attach-disk NAME --disk=DISK --zone=ZONE --boot