中国站

SSH协议,为远程登录和数据传输提供安全加密

2019-06-24 18:10:40 来源:亿速云

SSH(英文全写:Secure Shell),是由 IETF (国际互联网工程任务组)的网络工作小组所制定的,建立在应用层基础上的安全协议。

SSH是目前较为可靠的,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议,可以有效地防止远程管理过程中的信息泄露问题。

SSH之所以能够保证安全,原因在于它采用了“非对称加密技术(RSA)”加密了所有传输的数据。

传统的网络服务程序,如ftp(文件传输协议)、Pop(用于电子邮件接收的“邮局协议”)和Telnet(远程终端协议)其本质上都是不安全的。因为它们在网络上用明文“传送数据、用户帐号和用户口令”,一些别有用心的人非常容易就可以截获这些口令和数据,并且这些网络服务程序的安全验证方式,也存在弱点,所以很容易受到“中间人”(man-in-the-middle)这种攻击方式的攻击。

所谓的“中间人攻击”,就是存在另一个人或者一台机器,冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。服务器和用户之间的数据传送,被“中间人”一转手做了手脚之后,就会出现很严重的问题。

通过使用SSH,可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处,就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet(远程终端协议),又可以为ftp(文件传输协议)、Pop(用于电子邮件接收的“邮局协议”),甚至可以为PPP(点对点传输协议)提供一个安全的通道。

从客户端来看,SSH提供两种级别的安全验证:

第一种级别(基于口令的安全验证)

只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器,就是你想连接的服务器。可能会有别的服务器,在冒充真正的服务器,也就是受到“中间人”这种攻击方式的攻击。

第二种级别(基于密匙的安全验证)

第二种级别的安全验证,需要依靠密匙,也就是说,你必须为自己创建一对“密匙”,并把“公用密匙”放在需要访问的服务器上。

如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。

服务器收到请求之后,先在该服务器上“你的主目录下”寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”,并把它发送给客户端软件。客户端软件收到“质询”之后,就可以用你的“私人密匙”解密,再把它发送给服务器,以此完成登录。

用这种方式,你必须要知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令,安全性更高。

第二种级别不仅加密所有传送的数据,而且“中间人攻击”也是不可能实现的(因为他没有你的私人密匙),但是整个登录的过程可能需要10秒左右。

通过使用SSH,可以在“本地主机”和“远程服务器”之间设置“加密通道”,

SSH的“加密通道”,是通过“端口转发”来实现的。你可以在“本地端口”和在远程服务器上运行的某个服务的端口之间建立“加密通道”。然后只要连接到本地端口,所有对本地端口的请求,都会被SSH加密,并且转发到远程服务器的端口。当然只有远程服务器上,运行SSH服务器软件的时候,“加密通道”才能工作。

亿速云为用户提供的“裸金属服务器、云服务器高防服务器香港服务器”等云产品,在服务器上运行了“SSH服务器软件”,用户可以采用“基于口令”或者“基于密匙”两种级别的安全验证方式,远程登录访问所租用的服务器,保证了用户数据传输和远程登录的安全可靠。