配置两台主机的远程连接实现免密登陆

  • Post author:
  • Post category:其他


一、ssh的建立原理

ssh远程连接

作用:远程端的主机基于网络通过标准的远程协议远程登录到对应的主机,类似于直接在本地端操作

应用层和传输层之间连接SSL/TLS安全认证层(SSL握手协议 SSL记录协议)

身份伪装

信息泄露

信息改

对称密钥:

加密和解密用的同一密钥(安全性较低,执行效率较高)—数据传输

非对称密钥:

公钥–数据加密 私钥–数据解密(安全性较高,执行效率较低)—握手阶段

ssh连接的原理过程:

1.版本协商阶段:客户端向服务端发起TCP初始连接请求,客户端收到服务端的请求,建立连接,向客户端发送报文,客户端收到报文后,解析该数据包,决定使用谁的版本协议号;之后,客户端回应服务端决定使用的版本号,服务器比较客户端发送的版本号,决定是否一起工作,协商成功后进入密钥算法协商阶段,否则断开TCP连接 。

2.服务器传送公钥给客户端: 接收到客户端的要求后,服务器便将第一个步骤取得的公钥传送给客户端使用 (此时应是明码传送,反正公钥本来就是给大家使用的)。

3.客户端记录并比对服务器的公钥数据及随机计算自己的公私钥: 若客户端第一次连接到此服务器,则会将服务器的公钥记录到客户端的用户家目录内的 ~/.ssh/known_hosts 。若是已经记录过该服务器的公钥,则客户端会去比对此次接收到的与之前的记录是否有差异。若接受此公钥, 则开始计算客户端自己的公私钥。

4.回传客户端的公钥到服务器端: 用户将自己的公钥传送给服务器。此时服务器:具有服务器的私钥与客户端的公钥,而客户端则是: 具有服务器的公钥以及客户端自己的私钥,你会看到,在此次联机的服务器与客户端的密钥系统 (公钥+私钥) 并不一样,所以才称为非对称加密系统。

5.开始双向加解密: (1)服务器到客户端:服务器传送数据时,拿用户的公钥加密后送出。客户端接收后,用自己的私钥解密 (2)客户端到服务器:客户端传送数据时,拿服务器的公钥加密后送出。服务器接收后,用服务器的私钥解密,这样就能保证通信安全。

ssh连接的过程:

二、配置两台主机的远程连接实现免密登陆



主机A:192.168.114.138



主机B:192.168.114.147



第一步:生成密钥对



在A机下产生密钥:ssh-keygen -t RSA -b 4096,一直按enter

检查是否产生密钥对:

id_rsa 私钥

id_rsa.pub 公钥

[root@A ~]# cd /root/.ssh/

[root@A .ssh]# ll

total 8

-rw——-. 1 root root 2590 Oct 15 04:43 id_rsa

-rw-r–r–. 1 root root  560 Oct 15 04:43 id_rsa.pub

第二步:发送公钥到要连接的另一个主机

[root@A .ssh]# ssh-copy-id -i 192.168.114.147

第三步:到主机B上查看是否产生authorized_keys的文件

第四步:测试



从主机A连接主机B

[root@A .ssh]# ssh 192.168.114.147



版权声明:本文为Jozsef原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。