在集群中,我们一般所做的设定是集群的服务器之间互相免密登陆通信,不能连接外网或者说由指定的外部服务器连接集群,作为集群与外部交互的桥梁。
1.Linux的ssh免密登陆原理
1.1什么是ssh
ssh为Secure Shell(安全外壳协议),为建立在应用层基础上的安全协议。ssh最初是UNIX系统上的一个程序,用来远程登陆其他机器,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
1.2ssh原理
ssh是一种安全性高的网络传输协议。安全性主要依赖于加密方式,现有的加密方式为两种,一种是对称加密,另一种是非对称加密。
对称加密
Client客户端已知远程服务器的登陆密码,然后先用自身的密钥对登陆密码进行加密(比如MD5算法进行加密),加密后得到的加密密码发给远程服务器,远程服务器用一套相同的加密算法对密钥进行解密,得到正确的密码后,远程服务器根据(源地址,源端口,目标地址,目标端口,协议)五元组建立对应的socket连接,不同的进程可以监听同一个端口,所以多个客户端可以连接到一个服务端。
缺陷:
当集群中有大量客户端连接到服务器端,你不能保证所有客户端一定不会泄露密钥,当一台客户端泄露了密钥后,中间人就能截获加密后的密文,用密