PATCH: Support for encrypted host keys

Nico Kadel-Garcia nkadel at
Wed Feb 1 06:39:09 EST 2012

On Tue, Jan 31, 2012 at 9:56 AM, Daniel Kahn Gillmor
<dkg at> wrote:
> Hi Zev--
> On 01/28/2012 04:25 AM, Zev Weiss wrote:
>> I recently found myself wanting to run sshd with passphrase-protected host keys rather than the usual unencrypted format, and was somewhat surprised to discover that sshd did not support this.  I'm not sure if there's any particular reason for that, but I've developed the below patch (relative to current CVS at time of writing) that implements this.  It prompts for the passphrase when the daemon is started, similarly to Apache's behavior with encrypted SSL certificates.
> Can i ask what threats you hope to mitigate with this approach?  What
> are your concerns about having a cleartext ~/.ssh/known_hosts?

One concern is pretending to be the designated host with host keys
retrieved from backup or from sites that deploy identical hostkeys via
a base installation or replicated OS image in virtualization. Since
the sshd handles passwords in many environments, and there is no
mechanism for revocation or expiration of host keys in
$HOME/.ssh/known_hosts, the ability to pretend to be a previously
accepted host with stolen keys has presented a functional security
issue since SSH was first written.

Too many sites are far, far too careless with these keys since "if
they're inside our network, we have much bigger problems", both of
which I've heard on various occasions.

More information about the openssh-unix-dev mailing list