SSH
简介
SSH(Secure Shell)协议基于TCP协议,是一种用于在网络上安全传输数据的协议。
它是一种加密的协议,可用于在不安全的网络上进行远程登录、文件传输和命令执行等操作,以确保这些操作的机密性和完整性。
SSH 使用客户端-服务器(C/S)模型,默认端口是 22。SSH 是一个守护进程,负责实时监听客户端请求,并进行处理。
SSH协议分为两个主要版本:SSH1和SSH2。SSH1已经被认为是不安全的,现在已经被SSH2取代。SSH2协议是目前使用最广泛的版本,它提供了更好的安全性和可靠性。
加密原理
对称加密
非对称加密
在使用SSH连接到远程计算机之前,用户必须生成一对密钥(公钥和私钥)。在建立SSH连接时,远程计算机会向用户发送一个随机数,并要求用户对该随机数进行加密。用户使用私钥对随机数进行加密后,将其发送回远程计算机。远程计算机使用用户的公钥对加密后的随机数进行解密,以验证用户的身份。
例:B有一对密钥,A想向B发消息,先发送一个请求。B收到请求后将公钥给A,A用公钥将传送的信息加密,B收到加密信息后用私钥解密。关键:使用私钥解密公钥。
注意:但是会遇到“中间人攻击”的问题,如下:
中间人C拦截A的请求,冒充B发送假公钥给A。A会把假公钥加密的信息传给C,C接收到信息并解密获取到信息。
免密登录
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sigma!