我创建了一个 Compute Engine VM (Ubuntu 18.04),当我使用 VM 实例列表中的 SSH 按钮登录它时,我以 user 身份登录username。
过了一会儿,我意识到我还需要能够使用另一个 SSH 客户端。根据https://cloud.google.com/compute/docs/instances/connecting-advanced我通过在元数据中添加一个键值对来启用 OS Login,其中 key isenable-oslogin和 value is TRUE。
然后我尝试添加我现有的 SSH 密钥:
gcloud compute os-login ssh-keys add --key-file path/to/key.pub --ttl 0
除了一个主要问题外,这是成功的:它为用户添加了密钥,username_gmail_com并且只允许我以该用户的身份通过 ssh 连接到我的 VM:
ssh username_gmail_com@myinstance
它还在我的 VM 上创建了该用户。从 Web 界面,我也使用该新用户 ( /home/username_gmail_com)登录到 VM 。当然,我仍然可以访问原始用户的数据 ( /home/username)。当我禁用 OS Login 时,Web 界面将我username再次登录,并且禁用了来自另一个客户端的 SSH。
编辑
文档中增加了一个准确解释这个问题的内容。在此处查看:https …