当我通过云控制台创建新的VM实例时,会自动为我在之前的实例上手动创建的用户创建homedirs,并将ssh-keys
复制到各个homedirs中的~/.ssh/authorized_keys
。
我不想要那个!这是恕我直言,一个严重的安全漏洞。
我不希望任何用户自动创建,我不希望任何ssh密钥自动复制 我怎样才能做到这一点?
答案 0 :(得分:4)
您可以指定特定用户和&通过设置实例级别sshKeys
metadata key来用于实例的SSH密钥。您也可以使用gcutil的--authorized_ssh_keys
选项从命令行执行此操作:
$ gcutil addinstance --authorized_ssh_keys=username1:/path/to/keyfile1,username2:/path/to/keyfile2,...
如果要确保没有实例获取完整的用户/密钥集,可以删除sshKeys
项目级元数据密钥。在控制台中,点击Compute Engine
,然后点击Metadata
,然后点击sshKeys
键旁边的垃圾桶图标。然后,您将需要为每个实例指定密钥,否则您将无法登录。 (这可能是你想要的完全自动化的环境)
注意:运行gcutil ssh
会生成一个密钥对(如果需要),并将其添加到sshKeys
密钥。
答案 1 :(得分:0)
Google会自动将这些ssh密钥添加到项目ssh-keys中。因此,您需要阻止项目范围的SSH密钥:https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#block-project-keys
您可以通过元数据来完成:
"block-project-ssh-keys": "true"