Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssh 服务器的公钥以何种格式存储在已知主机中?_Ssh_Rsa_Man In The Middle - Fatal编程技术网

Ssh 服务器的公钥以何种格式存储在已知主机中?

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到主机时,他要么是已知的,要么不是。在后一种情况下,在我们第一次尝试连接时,系统会提示我们

无法确定主机“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-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
请注意,根据服务器和客户端配置,还有其他正在使用的指纹格式(dsa和ecdsa)。在已知的_hosts文件中,您可以看到每个指纹的存储格式

它是如何编码的

已知的_hosts文件是主机名列表(通常是主机名的哈希)、指纹类型以及base64编码中的指纹本身(加密信息)。格式详细信息可以在SSH_KNOWN_HOSTS文件格式部分下的中找到

这种所谓的“主机密钥”是不对称的。这是什么意思

这些非对称机制意味着,虽然指纹允许您验证服务器的身份,但您不能使用它来生成有效的标识(模拟)该服务器

必须注意的是,指纹(以及相应的私钥)被用作加密操作的秘密:随机质询从客户端发送到服务器。具有私钥的服务器可以对该挑战者进行签名并将其发送回,然后客户端可以验证签名是否有效,因为指纹是适当的

换句话说,加密秘密是双重的,私钥可以加密或签名,而公钥可以用于解密或验证签名。其中一个密钥可以在没有风险的情况下公开,并用于验证签名和密码文本,只有私钥的所有者才能对其进行解码。这大概就是非对称在密码学中的含义