什么可能导致 SFTP 主机密钥指纹不匹配?

oli*_*ver 5 linux ssh sftp mac-osx hostkey

远程用户首次尝试使用 Mac OS X 下的“传输”客户端连接到我的 SFTP/SSH 服务器,并发现主机密钥指纹与预期值不匹配。

我有显示指纹的屏幕截图,并将其与ssh-keygen -lf /etc/ssh/ssh_host_dsa_key和的输出进行了比较ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub,但它与其中任何一个都不匹配。

我也未能成功地将指纹与cut -d ' ' -f 2 < /etc/ssh/ssh_host_dsa_key.pub | base64 -d | sha1sum和的输出进行比较cut -d ' ' -f 2 < /etc/ssh/ssh_host_rsa_key.pub | base64 -d | sha1sum(因为似乎正在使用不同的指纹算法?)。

客户端消息框标题为(翻译成英文)

<主机名>的主机密钥未知

和国家

服务器未知。主机密钥的指纹是<16个八位位组>。( 允许 ) ( 拒绝 ) [ ] 始终

因此,没有指示是否使用 RSA 或 DSA 密钥,或者是否使用 MD5 或某种 SHA 算法来创建指纹。

显示给远程用户的指纹有 16 个以冒号分隔的八位字节,因此它似乎没有使用 SHA-224 或更高版本。更新:我刚刚注意到,即使 SHA-1 哈希值也有 20 个八位字节,因此显示的指纹显然不是任何 SHA 格式。

连接最终会到达正确的服务器,因为如果用户允许连接,我可以在服务器日志中看到登录尝试。看来主机名/IP 在客户端输入正确。

与另一个(完全不相关)SFTP 服务器的连接也显示不正确的指纹(但与第一个服务器的指纹不同)。

如果我尝试从其他主机(或从服务器本身本地)使用 OpenSSH 自己连接到服务器,则会显示正确的指纹(RSA 主机密钥的 MD5 指纹)。

服务器运行 Debian 6 LTS 和标准 OpenSSH 服务器。

什么可能导致指纹不匹配?我该如何调试这个问题?