[lxc-devel] FW: [PATCH] Add Dropbear SSH support for lxc-busybox template
Dwight Engen
dwight.engen at oracle.com
Mon Jan 14 15:27:53 UTC 2013
On Mon, 14 Jan 2013 09:37:05 -0500
Stéphane Graber <stgraber at ubuntu.com> wrote:
> Forwarding this from Bogdan as for some weird reason his e-mails are
> put in the mailing-list moderation queue (even though he's
> subscribed).
>
> Personally I think this change is good and would make the busybox
> template behave similarly than the others where SSH is usually
> automatically enabled.
>
> But I'm not actually using that template so I'd prefer if someone
> actually using it could give their opinion on whether they're fine
> with this behaviour by default or would rather have it moved behind a
> command line option to the template.
I only use it when I want to test something quickly in a very light
system container. Since it checks for dropbear availability (see below
for type vs which), I think it shouldn't break anything.
> -----Original Message-----
> From: Purcareata Bogdan-B43198 Sent: Monday, January 14, 2013 11:51 AM
> To: 'lxc-users at lists.sourceforge.net'
> Subject: FW: [PATCH] Add Dropbear SSH support for lxc-busybox template
>
> Hello,
>
> I've sent this patch to lxc-devel and received a notification of
> pending for approval from a maintainer. Since I didn't receive any
> answer yet, I was not sure it was the right place.
>
> Bogdan P.
>
>
> -----Original Message-----
> From: Purcareata Bogdan-B43198 Sent: Thursday, January 10, 2013 2:23
> PM To: 'lxc-devel at lists.sourceforge.net'
> Subject: [PATCH] Add Dropbear SSH support for lxc-busybox template
>
> Dropbear implements lightweight SSH2 server and client functionality
> and is likely to be included in embedded Linux distros.
>
> Patch is done against staging branch.
>
> Bogdan P.
>
> diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in index
> f2751d8..014aac4 100644
> --- a/templates/lxc-busybox.in
> +++ b/templates/lxc-busybox.in
> @@ -33,7 +33,9 @@ $rootfs/root \
> $rootfs/etc \
> $rootfs/etc/init.d \
> $rootfs/bin \
> +$rootfs/usr/bin \
> $rootfs/sbin \
> +$rootfs/usr/sbin \
> $rootfs/proc \
> $rootfs/mnt \
> $rootfs/tmp \
> @@ -63,6 +65,8 @@ $rootfs/usr/lib64"
> chmod 600 ram0 || res=1
> mknod null c 1 3 || res=1
> chmod 666 null || res=1
> + mknod urandom c 1 9 || res=1
> + chmod 666 urandom || res=1
>
> popd > /dev/null
>
> @@ -188,6 +192,36 @@ configure_busybox()
> echo "setting root passwd to root"
> echo "root:root" | chroot $rootfs chpasswd
>
> +
> + # add ssh functionality if dropbear package available on host
> + type dropbear >/dev/null
nit: I think we should use which instead of type here since which is
what is used below, and type might include shell functions/builtin's
that we don't want here.
> + if [ $? -eq 0 ]; then
> + # copy dropbear binary
> + cp $(which dropbear) $rootfs/usr/sbin
> + if [ $? -ne 0 ]; then
> + echo "Failed to copy dropbear in the rootfs"
> + return 1
> + fi
> +
> + # make symlinks to various ssh utilities
> + utils="\
> + $rootfs/usr/bin/dbclient \
> + $rootfs/usr/bin/scp \
> + $rootfs/usr/bin/ssh \
> + $rootfs/usr/sbin/dropbearkey \
> + $rootfs/usr/sbin/dropbearconvert \
> + "
> + echo $utils | xargs -n1 ln -s /usr/sbin/dropbear
> +
> + # add necessary config files
> + mkdir $rootfs/etc/dropbear
> + dropbearkey -t rsa -f
> $rootfs/etc/dropbear/dropbear_rsa_host_key &> /dev/null
> + dropbearkey -t dss -f +
> $rootfs/etc/dropbear/dropbear_dss_host_key &> /dev/null
> +
> + echo "'dropbear' ssh utility installed"
> + fi
> +
> return 0
> }
>
>
More information about the lxc-devel
mailing list