更多内容,请访问 bbhhhh.github.io
最近在学习Hadoop,在配置伪分布式时需要配置SSH无密码登录。
我是在CentOS7上安装Hadoop的,发现《Hadoop权威指南-第二版》以及Hadoop的官方文档关于SSH配置这一步都写的不够完整,导致无法实现SSH无密码登录,看了网上的相关帖子并经实践后,整理如下:
1. SSH服务的安装就不细说了,一般都默认安装了。
下面这步在《权威指南》和官方文档都写了,但是《权威指南》用的是RSA算法,而Hadoop官方文档用的是DSA算法,经过试验,都可以用。推荐用RSA。
2. 生成公钥私钥,将公钥导入认证文件
《权威指南》:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
官方文档:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3. 更改权限
这一步很关键,书和官方文档上都没有写,如果配置不正确,将无法实现无密码登录
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
经过测试,发现上面的目录和文件只要组和组外用户没有wx权限即可。例如:640 权限也可以。
以上是学习hadoop的一些发现,分享给大家。