Sample code for 30+ languages & platforms
Tcl

SSH Host Key Fingerprint

See more SSH Examples

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

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set ssh [new_CkSsh]

set hostname "ssh.example.com"
set port 22
set success [CkSsh_Connect $ssh $hostname $port]
if {$success != 1} then {
    puts [CkSsh_lastErrorText $ssh]
    delete_CkSsh $ssh
    exit
}

# Get the classic MD5 fingeprint
set md5_fingerprint [CkSsh_hostKeyFingerprint $ssh]
puts "$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.)

set includeKeyType 1
set includeHashName 1
set sha256_fingerprint [CkSsh_getHostKeyFP $ssh "SHA256" $includeKeyType $includeHashName]
puts "$sha256_fingerprint"

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

# The key type and hash name can be optionally included or not.
set includeKeyType 0
set includeHashName 1
set sha256_fingerprint [CkSsh_getHostKeyFP $ssh "SHA256" $includeKeyType $includeHashName]
puts "$sha256_fingerprint"

# SHA256:Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

set includeKeyType 1
set includeHashName 0
set sha256_fingerprint [CkSsh_getHostKeyFP $ssh "SHA256" $includeKeyType $includeHashName]
puts "$sha256_fingerprint"

# ssh-rsa Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

set includeKeyType 0
set includeHashName 0
set sha256_fingerprint [CkSsh_getHostKeyFP $ssh "SHA256" $includeKeyType $includeHashName]
puts "$sha256_fingerprint"

# Ufgj480OsdsCZRjj9sSNM6fpgIcSJ61RsIG8usndUIY=

delete_CkSsh $ssh