Hadoop中节点之间的免密码通信
SSH是 Secure shell 的缩写,由IETF网络工作小组(Network Working Group)所制定。SSH是建立在应用层和传输层基础上的安全协议,专为远程登录回话和其他网络服务提供安全性协议,即利用SSH协议可以有效防止远程管理过程中的信息泄露。目前SSH较可靠。
从客户端来看SSH提供两种安全级别的安全验证,第一种级别是基于口令的安全验证,只要知道账号和口令。就可以登录到远程主机。所有传输数据都会被加密,但是不能保证所连接的服务器就是想要连接的服务器。可能会被冒充。
第二种级别是基于密匙的安全验证。这种验证需要依赖密匙,也就是必须为自己创建一对密匙并且把公用密匙放在需要访问的服务器上,这里的私钥必须自己拥有所以称为私钥。但整个过程耗时要比第一个时间长。
配置SSH免密登录
生成SSH免登录密匙
cd ~ 进入到我的home目录下 cd .ssh/
ssh-keygen-t rsa (四个回车)
执行完这个命令后会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥) 将公钥拷贝到要免登录的服务器上
远程主机将用户的公钥保存在登录后的用户主目录下的$/HOME/.ssh/authorized_keys文件中,使用以下命令将会在在本机上生成authorized_keys 并验证是否能够本机登录。
cat id_rsa.pub>>authorized_keys 并修改权限 chmod 600 authorized_keys 验证本地登录 ssh localhost
并将ssh-copy-id -i ~/.ssh/ id_rsa.pub node2 将公钥拷贝到到node2生成 authorized_keys
这样到node2节点的免密登录就好了
cat ~/.ssh/id_rsa.pub >> /.ssh/authorized_keys 或者ssh-copy-id -i localhost