引自:http://www.dataguru.cn/thread-324474-1-1.html
在有一些文章写SSH无密码登录都写的很复杂,所以在这我重新把自己配置的步骤写下来。在安装Hadoop集群和部署SPARK时不是必须要安装SSH免密码登录的,只是为了方便操作而配置,很多人都误以为这一步是必须的,其实不是。
一、目标
在组建hadoop集群时,需要多台实体机进行通信(如:文件传输)就是借助ssh,在通信过程中如果需要操作人员频繁输入密码是不切实际的,所以需要ssh的无密码登录
二、环境
主机spark1,RHEL6.2-64 操作系统,用户名Root
从机spark2,RHEL6.2-64 操作系统,用户名Root
三、配置
(一)在当前机器spark1配置
1、cd ~/.ssh #进到当前用户的隐藏目录(.ssh)
2、ssh-keygen -t rsa #用rsa生成密钥,一路回车
3、cp id_rsa.pub authorized_keys #把公钥复制一份,并改名为authorized_keys,这步执行完后,在当前机器执行ssh localhost可以无密码登录本机了
4、scp authorized_keys root@spark2:/root/.ssh (把重命名后的公钥通过ssh提供的远程复制文件复制到从机spark2)
5、chmod 600 authorized_keys (更改公钥的权限,也需要在从机spark2中执行同样命令)
这时使用ssh spark2可以远程无密码登录到spark2这台机器
(二)在当前机器spark2配置
1、cd ~/.ssh #进到当前用户的隐藏目录(.ssh)
2、ssh-keygen -t rsa #用rsa生成密钥
3、cat id_rsa.pub>> authorized_keys #在spark1机器上已经把authorized_keys文件复制过来了,所以在将生成的密钥追加到authorized_keys文件就可以了
4、scp authorized_keys root@spark1:/root/
5、chmod 600 authorized_keys
6、登录到spark1这台机器把刚传过来的/root/authorized_keys文件内容追加到/root/.ssh/authorized_keys文件
cat /root/authorized_keys >>.ssh/authorized_keys
这时使用ssh spark1可以远程无密码登录到spark1这台机器
小结
其实在spark2上也可以不用配置SSH无密码登录到spark1上,单向就可以了,一般只情况下只会在一台机器把配置等文件分发到其他从节点