README.dns 1.57 KB
Newer Older
1 2 3
How to verify host keys using OpenSSH and DNS

4 5 6 7
OpenSSH contains support for verifying host keys using DNS as described in
draft-ietf-secsh-dns-05.txt. The document contains very brief instructions
on how to use this feature. Configuring DNS is out of the scope of this
8 9

(1) Server: Generate and publish the DNS RR
11 12 13 14 15 16 17 18 19 20 21 22

To create a DNS resource record (RR) containing a fingerprint of the
public host key, use the following command:

	ssh-keygen -r hostname -f keyfile -g

where "hostname" is your fully qualified hostname and "keyfile" is the
file containing the public host key file. If you have multiple keys,
you should generate one RR for each key.

In the example above, ssh-keygen will print the fingerprint in a
generic DNS RR format parsable by most modern name server
23 24
implementations. If your nameserver has support for the SSHFP RR
you can omit the -g flag and ssh-keygen will print a standard SSHFP RR.
25 26 27 28 29

To publish the fingerprint using the DNS you must add the generated RR
to your DNS zone file and sign your zone.

(2) Client: Enable ssh to verify host keys using DNS
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

To enable the ssh client to verify host keys using DNS, you have to
add the following option to the ssh configuration file
($HOME/.ssh/config or /etc/ssh/ssh_config):

    VerifyHostKeyDNS yes

Upon connection the client will try to look up the fingerprint RR
using DNS. If the fingerprint received from the DNS server matches
the remote host key, the user will be notified.

	Jakob Schlyter
	Wesley Griffin

$OpenBSD: README.dns,v 1.2 2003/10/14 19:43:23 jakob Exp $