CentOs系统在root用户下执行
第一步:groupadd 新建用户组
新建hadoop用户: groupadd hadoop
第二步:在已创建用户组中新建用户
新建hadoop用户和家目录也创建,并增加到hadoop组中:useradd -m -g hadoop hadoop
第三步:设置用户密码
passwd hadoop 123456
最近按照网上的教程安装hadoop集群,设置服务器免密登录出现问题,卡住了,最后使用ssh -vvv命令找到问题并解决
记录下ssh免密登录设置过程
1.先查看/home/user/.ssh/文件下是否存在公钥私钥文件,如果有就不用执行第二步再次生成公钥私钥
2.在每台服务器执行命令 ssh-keygen -t rsa ,三次回车后,该目录下将会产生id_rsa,id_rsa.pub私钥公钥文件。
3.登录第一台服务器,进入.ssh目录
4.将另外几台服务器公钥写入第一台服务器authorized_keys文件中
登录hadoop02,执行命令将公钥拷贝到hadoop01的authorized_keys中,同样将其他几台服务器公钥都拷贝到authorized_keys中
5.将第一台服务器写好了各台服务器公钥的authorized_keys拷贝到其他服务器上替换原来的authorized_keys文件
6.执行 ssh hadoop01看看登录是否需要密码
我到这一步之前都很顺利,但是一直提示输入密码,尝试很多次,修改权限,重新生成秘钥公钥还是失败,不知道问题在哪?
使用 ssh -vvv hadoop01 调试命令,很快就找到了问题并解决了
这是一段ssh登录正常的debug日志,可以看到ssh登录的认证过程
通过看debug日志很快就找到问题
失败日志片段
Next authentication method: publickey 从这段日志可以看到,有进行公钥认证,但是认证失败,然后就接着去password认证,就是提示你输入密码,到这里有很大可能性是authorized_keys文件权限问题,设置authorized_keys文件权限为600
然后再次验证,发现ok了
是因为没有设置SSH无密码登录,在你机器上运行一下两个命令,增加当前用户使用ssh无密码登录权限ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
之后,使用ssh localhost不需要输入任何密码就能登录的话,你启动的时候就不需要再输入密码了。
ssh localhost还需要密码的话,请检查你的跟目录权限是否为700,不会700的话,使用chmod -R 700 ~之后应该就好了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)