Linux中SSH工作原理

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等等

详细交互过程如下图
在这里插入图片描述


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