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