SSH工作原理为:SSH协议是基于非对称加密方法的,服务器和客户端都会生成自己的公钥和私钥。公钥加密后的密文,只能通过对应的私钥进行解密。而通过公钥推理出私钥的可能性微乎其微。
1、服务器建立公钥。每一次启动 sshd 服务时,该服务会主动去找/etc/ssh/ssh_host*的文件。
2、客户端请求联机。客户端想要联机到ssh服务器,需要使用适当的客户端程序来联机。linux或者mac系统可以直接通过自带的shell连接,指令为ssh user@host。
3、服务器发送公钥给客户端。接收到客户端的要求后,服务器把公钥传给客户端使用。
4、客户端记录服务器公钥并计算自己的公私钥。客户端将服务器传来的公钥记录在~/.ssh/known_hosts中,并计算客户端自己的公私钥。
5、回传客户端的公钥到服务器端。客户端将自己的公钥传送给服务器。
6、双向加解密。服务器发送数据:用客户端公钥加密,客户端收到数据后用自己私钥解密。客户端发送数据:用服务器公钥加密,服务器收到数据后用自己私钥解密。
SSH是Secure SHell的缩写,由IETF的网络小组(Network Working Group)所制定,叫做安全的壳程序协议,是一种在不安全网络上提供安全远程登录及其它安全网络服务的协议,主要为远程登录会话和其他网络服务提供安全性的协议。