SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
这里需要注意的是SSH协议的实现软件有很多, 其中最出名的应该是OpenSSH. 例如CentOS6.5默认使用的就是OpenSSH, OpenSSH分client端和server端, 下图中的sshd为运行在Linux中的守护进程, 客户端如Xshell, SecureCRT, Linux自带的ssh等.
SSH的本质就是对在网络中传输的数据进行加密,那一般加密方式分为对称加密和非对称的加密. 对称加密的通信方式因双方使用同一密钥,存在密钥泄露的安全问题, 非对称加密的通信方式也会存在中间人攻击的风险. 所谓中间人攻击是指, 由于SSH不像HTTPS协议那样,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。这就导致如果有黑客截获了登陆请求,然后冒充远程主机,将伪造的公钥发给用户,用户再通过伪造的公钥加密密码,再发送给冒充主机,此时冒充的主机就可以获取用户的登陆密码了,那么SSH的安全机制就荡然无存了.
如果SSH使用的是非对称加密机制,为了解决中间人攻击, SSH便增加了2种认证机制.
如下本机用SSH访问192.168.182.133, 为了确认对方的真实性,SSH会让使用者自己来确定是否相信对方。
例如SSH client A要使用免密公钥认证方式登录到SSH server B, 步骤如下
基于免密公钥认证的原理, 在A->B免密配置成功后, 任何一台主机只要得到A上的生成的私钥, 都可以访问免密B. 进一步来说, 在集群环境下, 只要在一台主机上生成私钥和对应的authorized_keys, 将其copy到其他主机上, 那么集群中的所有主机就可以相互访问了.
集群环境下便于服务器之间的访问
确保服务器的管理密码不被泄露
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。