1 . 什么是SSH
SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全
保证的协议。
对于传统的网络服务程序(例如,FTP,Telnet等)来说,其本质上并不是安全的,主要原因在于,
这些网络应用程序在网络上都是直接使用明文传输口令和数据的,对于别有用心的人来说,这些口令
和数据是很容易被截获的。另外,这些网络服务程序的安全验证方式也是存在弱点的,非常容易受到
中间人(Man-In-The-Middle)这种方式的攻击,简而言之,就是中间人冒充真正的服务器接收你
传输的数据,然后,再将数据转发给真正的服务器,通过这种方式中间人就可以神不知鬼不觉地拿
到你所有数据。
SSH是安全外壳协议,而open-ssh则是SSH的开源实现,CentOS通常是默认安装了open-ssh的。
<ssh是一种网络协议,用于计算机之间的免密登录。>
整个SSH服务是包含SSH服务端(openssh-server)和SSH客户端(openssh-clients)的,常用的
ssh命令就是客户端一部分。
SSH服务端与SSH客户端之间的关系:
节点A想要控制节点B,则节点A上需要安装SSH客户端,而节点B上
需要安装相应的SSH服务端,这样,节点A才能向节点B发送控制命令和数据。通过使用SSH,可以将所
有传输的数据及口令进行加密,从而防止中间人攻击,还可以防止DNS和IP欺骗,另外,使用SSH还有
加快传输速度的好处,原因在于,SSH是可以对数据进行压缩的。
ssh 提供了两种服务
1.远程连接服务功能,即 SSH 服务
2.借助ssh 协议来传输数据,提共更安全的 传输服务
2 . SSH免密登录配置
对于分布式及去集群环境组件(例如Hadoop, Hbase等),组件的节点通常需要远程登陆控制到其他节点的主机上进shell操作,通常我们采用ssh
1.生成密钥
ssh-keygen -t rsa
[root@hadoop102 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /*回车(Enter)
/root/.ssh/id_rsa already