您可能要使用ssh包中的ssh.ParseAuthorizedKey来加载密钥:
https://godoc.org/golang.org/x/crypto/ssh#ParseAuthorizedKey
这将为您提供一个公共密钥,您可以将其称为ssh.FingerprintLegacyMD5以获取指纹(假设在这里您想要md5)。
https://godoc.org/golang.org/x/crypto/ssh#FingerprintLegacyMD5
https://godoc.org/golang.org/x/crypto/ssh#FingerprintSHA256
func main() { // Read a key from a file in authorized keys file line format // This could be an rsa.pub file or a line from authorized_keys pubKeyBytes := []byte(`ssh-rsa AAAABMYKEY...ABC me@myplace.local`) // Parse the key, other info ignored pk, _, _, _, err := ssh.ParseAuthorizedKey(pubKeyBytes) if err != nil { panic(err) } // Get the fingerprint f := ssh.FingerprintLegacyMD5(pk) // Print the fingerprint fmt.Printf("%sn", f)}提供了两种指纹功能,不确定要使用哪一种。


![转到-如何从PublicKey生成SSH PublicKey指纹,PublicKey的类型可能是[rsa dsa ssh-rsa ssh-dssecdsa]之一 转到-如何从PublicKey生成SSH PublicKey指纹,PublicKey的类型可能是[rsa dsa ssh-rsa ssh-dssecdsa]之一](http://www.mshxw.com/aiimages/31/387441.png)
