【发布时间】:2021-03-03 20:10:18
【问题描述】:
我有两个 GCP 项目 A 和 B,我在 B 中有一个机器映像,机器映像是从具有组用户的原始实例创建的(每个用户的主目录中都有 ~/.ssh/authorized_files )。
当我在 B 中使用此机器映像在 B 中创建一个新实例时,所有用户的授权文件都得到了保留。但是当我使用 B 中的机器映像在 A 中创建一个实例时,authorized_keys 在新实例中丢失了,除了我是 B 的所有者。
我使用的命令是:
gcloud beta 计算实例创建 new_instance --project=A --source-machine-image projects/B/global/machineImages/machine_image_name --service-account A's_service_account --network=vpc_network_in_A --subnet=subnet_in_A
为了让用户的授权文件从 B 跨到 A,我还需要在命令中添加什么?
谢谢, 菲利普
【问题讨论】:
-
我知道我可以在 A 的元数据中添加用户的公钥,所以只要在 A 中创建了一个实例,就会从元数据中创建这些用户的 authorized_keys 文件。我只是担心这会给那些用户在 A 中的过多访问权限。理想情况下,我希望他们只能访问从机器映像创建的实例...
-
在 B 上创建图像之前,您是否尝试过使用instance-level public SSH keys?
-
不,我以前没有这样做过,我会尝试让这个线程知道。谢谢你把它带给我。
-
我测试了对实例使用实例级 ssh 密钥,然后从实例中创建机器映像。映像保留了用户 ssh 密钥,并且从映像创建的新实例具有用户密钥。谢谢亚历克斯 G。