Ssh 服务器的公钥以何种格式存储在已知主机中?
当我们ssh到主机时,他要么是已知的,要么不是。在后一种情况下,在我们第一次尝试连接时,系统会提示我们 无法确定主机“13x.8x.xx.1x1(13x.8x.xx.1x1)”的真实性。 RSA密钥指纹是xx:xx:xx:xx:xx:26:86:80:5f:17:xx:xx:xx:xx:xx:6d:6c。 是否确实要继续连接(是/否)?对 然后服务器的RSA公钥存储在.ssh/know_hosts文件中。它是如何编码的?我们如何确保这不是一个中间人? 最后,这个所谓的“主机密钥”是不对称的。这是什么意思 我们如何确保这不是一个中间人 第一次,您可以检查RSA指纹。有人需要事先与您沟通,或者您需要以某种方式安全地接收(即通过https网站发布,或通过签名电子邮件接收)。例如,许多主机提供商向您发送主机SSH指纹 在Ubuntu上,您可以使用以下方法找到自己的RSA指纹:Ssh 服务器的公钥以何种格式存储在已知主机中?,ssh,rsa,man-in-the-middle,Ssh,Rsa,Man In The Middle,当我们ssh到主机时,他要么是已知的,要么不是。在后一种情况下,在我们第一次尝试连接时,系统会提示我们 无法确定主机“13x.8x.xx.1x1(13x.8x.xx.1x1)”的真实性。 RSA密钥指纹是xx:xx:xx:xx:xx:26:86:80:5f:17:xx:xx:xx:xx:xx:6d:6c。 是否确实要继续连接(是/否)?对 然后服务器的RSA公钥存储在.ssh/know_hosts文件中。它是如何编码的?我们如何确保这不是一个中间人? 最后,这个所谓的“主机密钥”是不对称的。这是
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
请注意,根据服务器和客户端配置,还有其他正在使用的指纹格式(dsa和ecdsa)。在已知的_hosts文件中,您可以看到每个指纹的存储格式
它是如何编码的
已知的_hosts文件是主机名列表(通常是主机名的哈希)、指纹类型以及base64编码中的指纹本身(加密信息)。格式详细信息可以在SSH_KNOWN_HOSTS文件格式部分下的中找到
这种所谓的“主机密钥”是不对称的。这是什么意思
这些非对称机制意味着,虽然指纹允许您验证服务器的身份,但您不能使用它来生成有效的标识(模拟)该服务器
必须注意的是,指纹(以及相应的私钥)被用作加密操作的秘密:随机质询从客户端发送到服务器。具有私钥的服务器可以对该挑战者进行签名并将其发送回,然后客户端可以验证签名是否有效,因为指纹是适当的
换句话说,加密秘密是双重的,私钥可以加密或签名,而公钥可以用于解密或验证签名。其中一个密钥可以在没有风险的情况下公开,并用于验证签名和密码文本,只有私钥的所有者才能对其进行解码。这大概就是非对称在密码学中的含义