ssh数据传输的加密原理
数据传输的加密方式:非对称加密
非对称加密原理:公钥加密,私钥解密
拓扑图:
服务器——客户端
客户端给服务器发数据
1、客户端使用服务器的公钥对数据进行加密
2、服务器收到数据后使用自己的私钥对数据进行解密
服务器给客户端发数据
1、服务器使用客户端的公钥对数据进行加密
2、客户端收到数据后使用自己的私钥对数据进行解密
因此客户端有一对公钥和私钥,服务器也有一对公钥和私钥
ssh公钥和私钥产生原理
1、linux下运行sshd的服务器
linux运行了sshd服务后,就会自己生产一对公钥和私钥
公钥和私钥保存的目录位置:/etc/ssh/ssh_host*
1、.pub的是公钥
2、没有.pub的是私钥
下面命令你还可以看到如ssh_host_ecdsa_key,其中ecdsa指生成该公钥和私钥的算法。该linux使用三种算法,分别生成了三对公钥和私钥。
[root@localhost ssh]# pwd
/etc/ssh
[root@localhost ssh]# ll
total 604
-rw-r--r--. 1 root root 581843 Apr 10 2018 moduli
-rw-r--r--. 1 root root 2276 Apr 10 2018 ssh_config
-rw-------. 1 root root 3907 Apr 10 2018 sshd_config
-rw-r-----. 1 root ssh_keys 227 Jun 11 19:38 ssh_host_ecdsa_key
-rw-r--r--. 1 root root 162 Jun 11 19:38 ssh_host_ecdsa_key.pub
-rw-r-----. 1 root ssh_keys 387 Jun 11 19:38 ssh_host_ed25519_key
-rw-r--r--. 1 root root 82 Jun 11 19:38 ssh_host_ed25519_key.pub
-rw-r-----. 1 root ssh_keys 1679 Jun 11 19:38 ssh_host_rsa_key
-rw-r--r--. 1 root root 382 Jun 11 19:38 ssh_host_rsa_key.pub
2、linux作为ssh的客户端
可以使用 ssh 用户名@ip 的方式进行远程登入
如:
ssh root@192.168.1.1
3、windows作为ssh的客户端
windows需要使用第三方客户端进行登入,如putty,CRT,Xshell等等
详细交互过程如下图