Я создал виртуальную машину Compute Engine (Ubuntu 18.04), и когда я вхожу в нее с помощью кнопки SSH в списке экземпляров виртуальной машины, я регистрируюсь как username .

Через некоторое время я понял, что мне нужно иметь возможность использовать и другой SSH-клиент. Согласно https://cloud.google.com/compute/docs/instances/connecting-advanced я включил вход в ОС, добавив пару ключ-значение в метаданные, где ключ - enable-oslogin а значение - TRUE .

Затем я попытался добавить свой существующий ключ SSH:

gcloud compute os-login ssh-keys add --key-file ~/.ssh/id_rsa.pub --ttl 0

который был успешным, за исключением одной серьезной проблемы: он добавил ключ для пользователя username_gmail_com и позволит мне только ssh подключиться к моей виртуальной машине как этот пользователь:

ssh username_gmail_com@myinstance

Это очень неудобно, потому что мой код находится в /home/username принадлежит username . Так что вместо этого я хотел бы иметь возможность

ssh username@myinstance

Где я ошибся, и как лучше всего это решить?

пс. Я тоже пробовал

gcloud compute ssh username_gmail_com@myinstance gcloud compute ssh username@myinstance

которые оба дают WARNING: You do not have an SSH key for gcloud. и предложить создать его (чего у меня нет).

=== Редактировать

Я отключил вход в ОС, но тогда я вообще не могу использовать ssh с локальной консоли (конечно, потому что так говорят документы). Затем консоль веб-интерфейса входит в систему со старым именем пользователя.

Таким образом, при отключенном входе в систему для моего проекта Compute использует username . При включенном входе в систему ОС используется username_gmail_com . Любые указатели на документы, объясняющие, почему это так и как мы можем повлиять, приветствуются.

Мое решение, вероятно, заключается в перенастройке сервера для нового пользователя (вполне возможно, что его воссоздание будет проще). Если кто-нибудь знает какое-либо другое решение, мне интересно узнать

0