Google compute engine 从Google计算引擎实例中删除用户

Google compute engine 从Google计算引擎实例中删除用户,google-compute-engine,gcutil,google-cloud-platform,Google Compute Engine,Gcutil,Google Cloud Platform,我正在使用gcutil访问Google计算引擎实例 我注意到,当我启动一个新实例时,这个新实例有一个我在这个项目的前一台机器上使用的用户 我想删除这个用户——不仅仅是从这台机器上删除,当然我可以通过正常的*nix进程删除,但是我想确保它不会用于任何未来的计算引擎实例 我该怎么做 默认情况下,一旦用户运行了gcloud auth login命令并使用云项目进行了身份验证,他们的ssh密钥将添加到项目计算引擎公共元数据中,存储在sshKeys密钥/值对下,然后由项目内的所有实例继承,通过ssh提供对

我正在使用gcutil访问Google计算引擎实例

我注意到,当我启动一个新实例时,这个新实例有一个我在这个项目的前一台机器上使用的用户

我想删除这个用户——不仅仅是从这台机器上删除,当然我可以通过正常的*nix进程删除,但是我想确保它不会用于任何未来的计算引擎实例


我该怎么做

默认情况下,一旦用户运行了gcloud auth login命令并使用云项目进行了身份验证,他们的ssh密钥将添加到项目计算引擎公共元数据中,存储在sshKeys密钥/值对下,然后由项目内的所有实例继承,通过ssh提供对实例的登录访问

要防止现有用户对项目实例拥有ssh权限,您需要修改此值,只保留希望访问的用户的公钥。这可以在项目中的云控制台中找到,在计算引擎下,然后是元数据下。在您的情况下,所有用户可能都是您,只是从不同的客户端登录


但是,您不能从此处修改现有元数据,您需要使用gcutil setcommoninstancemetadata
命令重新插入修改后的sshKeys值(请参阅),根据我的实验,这似乎重置了项目的所有公共元数据,因此,如果您在项目中设置的不仅仅是默认的sshKeys,那么您需要同时从命令行将它们添加回来。

谢谢,这是一个很好的答案。