Huh, não posso receber nenhuma resposta da GCE, parece. Descobri isso embora. Em primeiro lugar, a versão cloud-init atual do Red Hat Enterprise Linux (v7.2) não suporta instâncias de chaves ssh (trata apenas de chaves de nível de projeto). O cloud-init
trunk, porém, já os suporta, portanto, esperamos que o downstream vá acelerar em breve. Nesse meio tempo eu usei o seguinte user-data
para emular isso (novamente representação YAML):
metadados:
items:
- key: sshKeys
value: root:ssh-rsa AAAAB... non@nan
- key: user-data
value:|
#cloud-config
disable_root: false
preserve_hostname: true
runcmd:
- "curl 'http://metadata.google.internal/computeMetadata/v1/instance/attributes/sshKeys' -H 'Metadata-Flavor: Google' | sed -r -e 's/(^|,)[^\S]*:/\1/g' -e 's/,/\n/g' >> /root/.ssh/authorized_keys"
Observe que a documentação do Google fala apenas sobre startup-script
metadata key. Para minha leitura, mesmo upstream cloud-init
não se importa com essa chave de metadados. Está procurando pela chave user-data
, como mostrado acima.
Espero que isso ajude.