Sample code for 30+ languages & platforms
Java

SFTP Host Key Fingerprint

See more SFTP Examples

Demonstrates how to get the SSH server's host key fingerprint after connecting.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.SFtp;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        SFtp sftp = new SFtp();

        String hostname = "sftp.example.com";
        int port = 22;
        try {
            sftp.connect(hostname, port);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Get the classic MD5 fingeprint
        String md5_fingerprint = sftp.getHostKeyFingerprint();
        System.out.println(md5_fingerprint);

        // Sample output:
        // ssh-rsa 3072 21:b0:d8:41:4e:ef:78:10:20:af:01:b7:71:5d:eb:94

        // Starting in Chilkat v9.5.0.92, we can also get the SHA256 fingerprint.
        // (it is also possible to get fingerprints using other hash algorithms such as SHA384, SHA512, etc.)

        boolean includeKeyType = true;
        boolean includeHashName = true;
        String sha256_fingerprint = sftp.getHostKeyFP("SHA256", includeKeyType, includeHashName);
        System.out.println(sha256_fingerprint);

        // Sample output:
        // ssh-rsa SHA256:Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

        // The key type and hash name can be optionally included or not.
        includeKeyType = false;
        includeHashName = true;
        sha256_fingerprint = sftp.getHostKeyFP("SHA256", includeKeyType, includeHashName);
        System.out.println(sha256_fingerprint);

        // SHA256:Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

        includeKeyType = true;
        includeHashName = false;
        sha256_fingerprint = sftp.getHostKeyFP("SHA256", includeKeyType, includeHashName);
        System.out.println(sha256_fingerprint);

        // ssh-rsa Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

        includeKeyType = false;
        includeHashName = false;
        sha256_fingerprint = sftp.getHostKeyFP("SHA256", includeKeyType, includeHashName);
        System.out.println(sha256_fingerprint);

        // Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=
    }
}