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

Невозможно подключить экземпляр Google Compute Engine через SSH в браузере

Я новичок в облаке Google, я только что развернул свой первый экземпляр, он работал нормально до вчерашнего дня, в последний раз я использовал для настройки почтового сервера с помощью этого руководства почтовый сервер, но теперь я не могу подключить ssh в браузере, а также с помощью sdk Google Cloud в терминале.

Сайт работает нормально, я не знаю, что случилось. Помогите

сообщение об ошибке в браузере

Connection Failed, and we are unable to connect VM on port 22.

сообщение об ошибке в терминале

Warning: Permanently added 'xxx.xxx.xxx.xxx' (ECDSA) to the list of known hosts.
Permission denied (publickey).
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

И последовательная консоль выводит свои шоу

Jul 8 10:09:26 Instance sshd[10103]: error: Could not load host key:/etc/ssh/ssh_host_ed25519_key

Jul 8 10:09:27 Instance sshd[10103]: User username from 0.0.0.0 not allowed because not listed in AllowUsers

Jul 8 10:09:27 Instance sshd[10103]: input_userauth_request: invalid user username [preauth] Jul 8 10:09:27 Instance sshd[10103]: Connection closed by 0.0.0.0 [preauth] – 

Похоже, вы добавили AllowUsers в /etc/ssh/sshd_config Файл конфигурации.

Чтобы решить эту проблему, вам необходимо подключить загрузочный диск вашего экземпляра виртуальной машины к работоспособному экземпляру в качестве второго диска. Смонтируйте его, отредактируйте файл конфигурации и устраните проблему.

Вот шаги, которые вы можете предпринять для решения проблемы:

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

  2. В Developers Console щелкните свой экземпляр. Снимите отметку Delete boot disk when instance is deleted а затем удалите экземпляр. Загрузочный диск останется в разделе «Диски», и теперь вы можете подключить диск к другому экземпляру. Вы также можете сделать этот шаг, используя gcloud команда:

    $ gcloud compute instances delete NAME --keep-disks all
    
  3. Теперь подключите диск к исправному экземпляру в качестве дополнительного диска. Вы можете сделать это через Developers Console или с помощью gcloud команда:

    $ gcloud compute instances attach-disk EXAMPLE-INSTANCE --disk DISK --zone ZONE
    
  4. SSH в ваш здоровый экземпляр.

  5. Определите, где находится вторичный диск:

    $ ls -l /dev/disk/by-id/google-*
    
  6. Установите диск:

    $ sudo mkdir /mnt/tmp
    $ sudo mount /dev/disk/by-id/google-persistent-disk-1-part1 /mnt/tmp
    

куда google-persistent-disk-1 это имя диска

  1. редактировать sshd_config файл конфигурации и удалите AllowUsers line и сохраните ее.

    $ sudo nano /mnt/tmp/etc/ssh/sshd_config
    
  2. Теперь отключите диск:

    $ sudo umount /mnt/tmp
    
  3. Отсоедините его от экземпляра виртуальной машины. Это можно сделать через Developers Console или с помощью следующей команды:

    $ gcloud compute instances detach-disk EXAMPLE-INSTANCE --disk DISK
    
  4. Теперь создайте новый экземпляр, используя ваш фиксированный загрузочный диск.