我通过(YAML 表示)
metadata:
items:
- key: sshKeys
value: root:ssh-rsa AAAAB... non@nan
创建 gcloud 实例时。但我无法 ssh 到实例
$ ssh 139.242.197.104.bc.googleusercontent.com
Host key fingerprint is SHA256:aSSOS1tMiF9h43C6UIJQW0TqXuYVMfRic3Lm7gYRECQ
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
看起来 ssh 密钥未在启动时插入。实例是从 qcow2 转换为 raw 格式并上传的标准 RHEL 7.2 kvm 来宾映像。知道我正在做的是否是在 GCE 中指定 ssh 密钥的正确咒语,以及 cloud-init 是否支持我想要的?
嗯,似乎无法得到任何 GCE 答案。不过想通了。首先,当前的 Red Hat Enterprise Linux (v7.2) cloud-init 版本不支持实例 ssh 密钥(它只处理项目级密钥)。
cloud-init
虽然trunk确实已经支持它们,所以希望下游很快就会恢复。与此同时,我使用以下内容user-data
来模拟这个(同样是 YAML 表示):元数据:请注意,谷歌文档只讨论
startup-script
元数据键。就我的阅读而言,即使上游cloud-init
也不关心该元数据密钥。它正在寻找user-data
如上所示的密钥。希望这可以帮助。