[Bug 876910] Re: When starting open ssh server without host keys in /etc/ssh/, the keys are not automatically generated.
Clint Byrum
clint at fewbar.com
Tue Oct 18 20:48:13 UTC 2011
Excerpts from Jon's message of Tue Oct 18 19:10:18 UTC 2011:
> Hello Clint,
>
> >> No, upstart jobs are designed to be short and pointed ways to define how
> >> a daemon starts and stops. /etc/init.d is only for backward compatibility
> >> in an upstart system. The ssh init.d script was left the way it is because
> >> of chroot jails for sshd, but it is not necessary for normal operation.
>
> OOOHHHH! *Light Bulb*! this makes sense. Thanks for setting me
> straight.
>
> >> Yeah, thats probably better. What was I thinking? ;)
> Sometimes it's more fun to do things the hard way. :)
>
> >> Not sure why this isn't scalable... its not that heavy of a command and
> >> it should be idempotent.
>
> I can't automate it. If I Can't automate it, can't scale it well.
> The problem is, for every new VM, to enable SSH this requires the SysOp to:
> -- Log into the Host Machine,
> -- Determine the VNC port
> -- VNC to the the VM,
> -- Run the command.
>
> With enough volume, these four steps could make for a full time job.
> It's not the command itself, but the work surrounding the command.
I think you mean you don't know how to auotmate it. :)
Several ideas:
* pre-boot, Mount each VM's filesystem, chroot into it and run
dpkg-reconfigure openssh-server.
* Use cloud-init's 'nocloud' feature to seed this reconfigure in on
first boot.
>
> >> I do think its a bit odd that they are generated at install time rather than whenever they are missing,
> I'm glad, I thought I was having a derp moment. Also, checking for these files at startup adds fault tolerance, would you agree?
>
I suppose that is one way to look at it. SSH is critical enough that
I'd consider pushing for this behavior. Maybe there's a reason that the
maintainers diverted from the standard behavior though.
> >> but either way, its a well defined
> >> behavior and so can be worked with fairly easily by removing and
> >> regenerating the keys at first boot. An upstart job like this
> >> would probably work:
>
> >> start on starting ssh
> >> task
> >> exec [ -f /etc/ssh/ssh_host_dsa_key ] || ssh-keygen -t dsa -b 4096 -f /etc/ssh/ssh_host_dsa_key -q
>
> Is this supposed to be all on one line? Causes ssh to hang when calling:
> start ssh
>
Maybe not, possibly try removing the exec and doing
script
...
end script
> Also, is there a variable that tells Ubuntu if it is first boot? This
> could potentially solve the problem since the .qcow2 will overwrite this
> variable.
>
cloud-init is useful for doing things on first boot in a structured,
repeatable way.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to openssh in Ubuntu.
https://bugs.launchpad.net/bugs/876910
Title:
When starting open ssh server without host keys in /etc/ssh/, the keys
are not automatically generated.
Status in “openssh” package in Ubuntu:
Incomplete
Bug description:
System Information
1) lsb_release -rd
Description: Ubuntu 11.10
Release: 11.10
SSH Version
2) apt-cache policy openssh-server
openssh-server:
Installed: 1:5.8p1-7ubuntu1
Candidate: 1:5.8p1-7ubuntu1
Version table:
*** 1:5.8p1-7ubuntu1 0
500 http://us.archive.ubuntu.com/ubuntu/ oneiric/main amd64 Packages
100 /var/lib/dpkg/status
Expected Behavior:
3) SSH should automatically create host keys when it detect the host keys are not present in /etc/ssh
Observed Behavior:
4) SSH did not generate host keys
Solution:
5) Created the attached patch to resolve the issue locally. Presented as a solution to the problem.
-- Check for existence of /etc/ssh/*_host_*
-- create host keys unless exists
ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: openssh-server 1:5.8p1-7ubuntu1
ProcVersionSignature: Ubuntu 3.0.0-12.20-server 3.0.4
Uname: Linux 3.0.0-12-server x86_64
ApportVersion: 1.23-0ubuntu3
Architecture: amd64
Date: Mon Oct 17 16:12:28 2011
InstallationMedia: Ubuntu-Server 11.10 "Oneiric Ocelot" - Release amd64 (20111011)
ProcEnviron:
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: openssh
UpgradeStatus: No upgrade log present (probably fresh install)
mtime.conffile..etc.init.d.ssh: 2011-10-17T15:57:55.578332
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/876910/+subscriptions
More information about the foundations-bugs
mailing list