主机hostkey,更准确地说,是SSH服务器的身份标识,它包括一对公私钥,在客户端第一次连接到SSH服务器时,服务器会提供其主机密钥以证明自己的身份,这个过程可以通过比对已知的主机密钥来验证服务器的真实性,防止中间人攻击。
公钥登录的原理是这样的:首先用户将自己的公钥存储在需要登录的远程机器上面,然后登录的时候,远程主机会向用户发送一段随机字符串,接着用户使用自己的私钥加密字符串,并发给远程主机,远程主机使用存储的公钥进行解密,若解密成功,则说明用户可信,准许登录。
一旦用户接受了HostKey,该密钥会被存储在客户端的一个信任列表中,在后续的连接中,客户端会自动检查接收到的HostKey是否与列表中的密钥匹配,这是确保客户端正在与预期的服务器通信,而非恶意实体的重要机制。
对于如何生成和管理这些密钥,OpenSSH提供了一个工具程序ssh-keygen命令,用来生成密钥,这个工具会在询问一系列问题后,生成密钥对,并将公钥保存在~/.ssh/authorized_keys文件中。
图片来源于互联网,如侵权请联系管理员。发布者:观察员,转转请注明出处:https://www.kname.net/ask/41410.html