Я создал виртуальную машину 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
. Любые указатели на документы, объясняющие, почему это так и как мы можем повлиять, приветствуются.
Мое решение, вероятно, заключается в перенастройке сервера для нового пользователя (вполне возможно, что его воссоздание будет проще). Если кто-нибудь знает какое-либо другое решение, мне интересно узнать