3

I'm using gcutil to access Google Compute Engine instances.

I noticed that when I spin up a new instance, the new instance has a user that I used on a previous machine in this project.

I want to remove that user - not just from this machine, which of course I can do via the normal *nix processes, but, I want to ensure it is not used for any future Compute Engine instances.

How can I do this?

4

1 回答 1

6

默认情况下,一旦用户运行gcloud auth login命令并通过云项目进行身份验证,他们的 ssh 密钥就会添加到项目的 Compute Engine通用元数据中,存储在sshKeys键/值对下,然后由其中的所有实例继承该项目,提供通过 ssh 登录到实例的访问权限。

为了防止现有用户对项目实例拥有 ssh 权限,您需要修改此值,只保留您希望访问的用户的公钥。这可以在项目中的Cloud Console中找到,位于Compute Engine下,然后是Metadata。在您的情况下,所有用户可能都是您,只是从不同的客户端登录。

但是您不能从那里修改现有元数据,您需要使用gcutil setcommoninstancemetadata命令重新插入修改后的 sshKeys 值(请参阅https://developers.google.com/compute/docs/metadata#common),来自我的实验这似乎重置了项目的所有通用元数据,因此如果您在项目中设置的不仅仅是默认的 sshKey,则需要同时从命令行重新添加它们。

于 2014-03-05T12:57:45.197 回答