[Bug 2049860] Re: cloud-init cloud-config for ssh broken in jammy
Thomas Bechtold
2049860 at bugs.launchpad.net
Thu Feb 1 14:27:02 UTC 2024
Verified that it works via:
- test image build for EC2
- launching a instance with user-data to set password authentication: "aws ec2 run-instances --image-id ami-01046735e1a43b710 --instance-type m6a.large --key-name toabctl --user-data file:///home/tom/tmp/cloud-config --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=toabctl-jammy-sru-validation}]'"
- login with password: ssh -o PubkeyAuthentication=no ubuntu at 3.66.190.126
Ordering looks good now:
# ls -al /etc/ssh/sshd_config.d/
total 16
drwxr-xr-x 2 root root 4096 Feb 1 14:23 .
drwxr-xr-x 4 root root 4096 Feb 1 14:23 ..
-rw------- 1 root root 27 Feb 1 14:23 50-cloud-init.conf
-rw-r--r-- 1 root root 26 Feb 1 13:44 60-cloudimg-settings.conf
# sshd -T|grep passwordauth
passwordauthentication yes
** Tags removed: verification-needed-jammy
** Tags added: verification-done-jammy
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to livecd-rootfs in Ubuntu.
https://bugs.launchpad.net/bugs/2049860
Title:
cloud-init cloud-config for ssh broken in jammy
Status in cloud-images:
Fix Committed
Status in cloud-images focal series:
New
Status in livecd-rootfs package in Ubuntu:
New
Status in livecd-rootfs source package in Jammy:
Fix Committed
Bug description:
[impact]
cloud-config overrides via cloud-init for ssh do no longer work. Eg.
#cloud-config
ssh_pwauth: True
doesn't enable password authentication anymore.
The reason is that https://git.launchpad.net/livecd-
rootfs/commit/live-build/ubuntu-
cpc/hooks.d/chroot/052-ssh_authentication.chroot?h=ubuntu/jammy&id=3b2eeb017153cbbfc8935f9447e00d196e34d983
is a wrong backport using the wrong filename
/etc/ssh/sshd_config.d/10-cloudimg-settings.conf . it needs to be
/etc/ssh/sshd_config.d/60-cloudimg-settings.conf . See
https://git.launchpad.net/livecd-rootfs/tree/live-build/ubuntu-
cpc/hooks.d/chroot/052-ssh_authentication.chroot?h=ubuntu/master which
is the correct change in the ubuntu/master branch.
This bug needs only fixing in Jammy and Focal because the fix is
correct in > Jammy. Jammy has this bug already in the -updates pocket
but Focal only has the wrong fix in its git branch.
[test plan]
* build an image with the proposed fix
* use a cloud-init cloud-config data to enable ssh password auth (which is disabled by default)
* check after image boot with "sshd -T" if password authentication is enabled
* make sure that the file written by cloud-init in /etc/ssh/sshd_config.d/ has a lower number than the file from the image (cloudimg-settings.conf)
[ Where problems could occur ]
The change does rename a single file to have correct ordering between the prebuilt cloud images and cloud-init. There are edge-cases where this could create problems but those are acceptable:
- rebuilt images based on the Ubuntu image which try to delete
10-cloudimg-settings.conf would no longer work
But in general this is a bug fix for the changes introduced in
LP:#1968873
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-images/+bug/2049860/+subscriptions
More information about the foundations-bugs
mailing list