canonical / cloud-init

Official upstream for the cloud-init: cloud instance initialization
https://cloud-init.io/
Other
2.85k stars 854 forks source link

users: stanza doesn't install Ec2 SSH key for user #2365

Open ubuntu-server-builder opened 1 year ago

ubuntu-server-builder commented 1 year ago

This bug was originally filed in Launchpad as LP: #1168431

Launchpad details
affected_projects = []
assignee = None
assignee_name = None
date_closed = None
date_created = 2013-04-12T14:44:35.754377+00:00
date_fix_committed = None
date_fix_released = None
id = 1168431
importance = medium
is_complete = False
lp_url = https://bugs.launchpad.net/cloud-init/+bug/1168431
milestone = None
owner = shardy
owner_name = Steven Hardy
private = False
status = confirmed
submitter = shardy
submitter_name = Steven Hardy
tags = []
duplicates = []

Launchpad user Steven Hardy(shardy) wrote on 2013-04-12T14:44:35.754377+00:00

Related to bug 1100920, when you use the "old" users syntax, SSH keys for the user are installed, but if you use the "new" style users stanza, then they are not:

E.g:

user: bob

works OK (with the fix for #1100920, tested at rev 809)

However this does not (creates the user, but does not create/update the .ssh/authorized_keys):

users:  - bob

Note I'm testing on openstack, and I want the key provided by the nova Ec2 metadata (DataSourceEc2) to be installed for the specified user.

I'm testing on Fedora, which has a default_user defined in /etc/cloud/cloud.cfg (attached) - this seems related, since the default ec2-user user is always installed (with .ssh/authorized_keys correctly populated), but the definition of a default user by the distribution seems to break the config I'm providing via nova.

AFAICS this is due to apply_credentials only being called for the default user, returned from ds.extract_default:

http://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/view/head:/cloudinit/config/cc_ssh.py#L110

ubuntu-server-builder commented 1 year ago

Launchpad user Steven Hardy(shardy) wrote on 2013-04-12T14:47:30.869720+00:00

Launchpad attachments: cloud.cfg (Fedora 18 package version)