Я новичок в облаке 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
Файл конфигурации.
Чтобы решить эту проблему, вам необходимо подключить загрузочный диск вашего экземпляра виртуальной машины к работоспособному экземпляру в качестве второго диска. Смонтируйте его, отредактируйте файл конфигурации и устраните проблему.
Вот шаги, которые вы можете предпринять для решения проблемы:
Прежде всего, сделайте снимок диска вашего экземпляра, на случай потери или повреждения вы сможете восстановить свой диск.
В Developers Console щелкните свой экземпляр. Снимите отметку Delete boot disk when instance is deleted
а затем удалите экземпляр. Загрузочный диск останется в разделе «Диски», и теперь вы можете подключить диск к другому экземпляру. Вы также можете сделать этот шаг, используя gcloud
команда:
$ gcloud compute instances delete NAME --keep-disks all
Теперь подключите диск к исправному экземпляру в качестве дополнительного диска. Вы можете сделать это через Developers Console или с помощью gcloud
команда:
$ gcloud compute instances attach-disk EXAMPLE-INSTANCE --disk DISK --zone ZONE
SSH в ваш здоровый экземпляр.
Определите, где находится вторичный диск:
$ ls -l /dev/disk/by-id/google-*
Установите диск:
$ sudo mkdir /mnt/tmp
$ sudo mount /dev/disk/by-id/google-persistent-disk-1-part1 /mnt/tmp
куда google-persistent-disk-1
это имя диска
редактировать sshd_config
файл конфигурации и удалите AllowUsers
line и сохраните ее.
$ sudo nano /mnt/tmp/etc/ssh/sshd_config
Теперь отключите диск:
$ sudo umount /mnt/tmp
Отсоедините его от экземпляра виртуальной машины. Это можно сделать через Developers Console или с помощью следующей команды:
$ gcloud compute instances detach-disk EXAMPLE-INSTANCE --disk DISK
Теперь создайте новый экземпляр, используя ваш фиксированный загрузочный диск.