解决Centos6.4集群配置ssh免密登陆仍然需要输入密码问题
遇到的问题展示:
Ssh免密登陆配置成功之后仍然需要输入密码,找了很多方法,最后已解决,现把解决办法的详细过程记录下来,希望对你有帮助。。。
解决办法:
一、准备工作
1、安装ssh服务
执行rpm -qa | grep ssh
若无返回ssh服务,则需要执行下列语句进行安装
sudo yum install openssh-clients
sudo yum install openssh-server
2、打开本机的ssh配置文件
删除以下内容每行开头的注释“#”
3、重新启动sshd的服务
4、由于centos6.4对于网络管理稍微严格,所以需要修改安全配置,关闭selinux
修改以下内容:
将 SELINUX=enforcing 修改为 SELINUX=disabled
二、配置SSH免密登陆
1、分别在三个节点执行以下语句生成公钥和私钥(只要一路回车就可以了)
默认在~/.ssh目录生成两个文件:
id_rsa:私钥
id_rsa.pub:公钥
2、生成公钥认证文件,并更改权限
3、将生成的公钥认证文件复制到其他节点机器上
方法一:直接执行以下语句
scp ~/.ssh/id_rsa.pub hadoop@node22:/home/hadoop/
scp ~/.ssh/id_rsa.pub hadoop@node33:/home/hadoop/
方法二:手动添加
复制node22:/.ssh/id_rsa.pub和node33:/.ssh/id_rsa.pub里面的内容将这两台机器的公钥放在node11:/.ssh/authorized_keys里面,再复制node11:/.ssh/authorized_keys文件分别放在 node22和node33的.ssh目录下面即可。
4、修改文件权限
sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644.
rsa_id权限必须为600 .
5、最后直接使用ssh,出现以下结果,免密成功!