使用公钥与私钥连接两台linux主机

1、输入ssh-keygen,在本机/root/.ssh/目录下生成id_rsa(私钥)、id_ras.pub(公钥)两个文件

2、输入ssh-copy-id [user]@[host],远程主机上就会有/root/.ssh/authorized_keys文件,文件内容和第一个主机的公钥相同,(相当于下图的第一步)发送本机公钥给远程服务器,此操作可能需要时间。

3、输入ssh [user]@[host],(此操作完成了下图的2、3、4步)即可登陆到远程主机,并且在本机的/root/.ssh/目录下生成known_hosts文件,里面保存了连接的远程主机的信息(known_hosts文件并不拘泥于公钥私钥操作,只是ssh操作连接一台主机,就会在此处有记录)

以下是操作原理图:

用简单的语言描述:

        客户端生成私钥和公钥(id_rsa、id_ras.pub),将客户端的公钥发送给服务器,在服务器的authorized_keys文件中存储的就是公钥,在服务器端生成一组随机数,使用公钥进行加密,将加密后的文件发送回给客户端,客户端使用自己的私钥将文件进行解密,并将解密后的数字再次发送给服务器,服务器验证发送过来的数字是否和自己生成的随机数相同,如果相同则表示客户端与服务器端匹配上,建立连接。至始至终,服务器端只拿有公钥,服务器端就需要拿着公钥和随机数去寻找匹配的私钥,如果一台客户端无法匹配,则匹配下一台客户端。

猜你喜欢

转载自blog.csdn.net/zaoanmiao/article/details/83572745