0

When connecting to a host through SSH for the first time I get met with the message: Authenticity of host ***** can't be established. ECDSA key fingerprint is SHA256 *******. Are you sure you want to continue to connect? (yes/no/[fingerprint]).

I'm trying to understand a safe way for a client to verify a host's fingerprint.

When connecting with SSH, a client recieves the fingerprint, but for the client to be able to verify that the fingerprint indeed belongs to the host, the host should also share that fingerprint in another channel.

What standards does the security community use for securely sharing fingerprints?

New contributor
hay is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

2 Answers 2

3

RFC2455 Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints defines a SSHFP DNS record to store the public key of a SSH server. RFC6594 extends this. It makes sense to use this when DNSSEC is used.

OpenSSH has support for checking the SSH public key using SSHFP (VerifyHostKeyDNS) but it does not do any DNSSEC verification (as far as I known). When used, you should use a resolver which handles this for you: this should ideally be a local resolver or trusted remote resolver if you are communicating with it over a secure channel (DoT, DoH, etc.). Looking at the code, OpenSSH will only trust SSHFP records if the DNS response has the AD (Authenticated Data) bit set.

0

I doubt there's a formalized standard for this, because the methods which are suitable depend entirely on the context and security requirements. If it's a server intended for personal use, there will be different procedures than, say, in a large company with its own administrators.

There are many possible ways.

  • The fingerprint could be made available through an administration GUI.
  • You could call whoever is responsible for the server and ask them to read the fingerprint out loud.
  • You could ask for a signed mail containing the fingerprint.
  • If possible, you could ask for a personal meeting to write down the fingerprint.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .