centos 6.5 ssh 免密码登录

        百度一下,ssh linux 关键字,就有很多基本设置了,但是在centos6.5及以上版本除了正常步骤设置后还有一个配置需要更改,不然ssh登录时还是要密码验证。下面简要记录一下操作步骤:

    

CentOS 6.5配置SSH免密码登录

创建新用户:useradd Hadoop
设置密码:passwd hadoop,输入自己想要的密码即可,之后su hadoop切换用户
修改主机名:vim /etc/sysconfig/network,加入hostname master,注销系统之后即可看到修改成功
修改hosts文件:vim /etc/hosts  192.168.56.101  master  192.168.56.102  slave1
ssh免登录,查看ssh: 
[hadoop@master  ~]$ rpm -qa|grep ssh 
openssh-server-5.3p1-94.el6.x86_64 
libssh2-1.4.2-1.el6.x86_64 
openssh-clients-5.3p1-94.el6.x86_64 
openssh-5.3p1-94.el6.x86_64 
openssh-askpass-5.3p1-94.el6.x86_64 
发现我已经都安装了,如果有没安装的,那么使用yum install ssh(缺少的即可)
修改/etc/ssh/sshd_config RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile      .ssh/authorized_keys 
启用这三行,然后重启service sshd restart
现在开始配置无密码登录 [hadoop@master  ~]$ cd /home/hadoop/ 
[hadoop@master  ~]$ ssh-keygen -t rsa一路回车[hadoop@master  ~]$ cd .ssh/
[hadoop@master  .ssh]$ cp id_rsa.pub authorized_keys
[hadoop@master .ssh]$ chmod 600 authorized_keys
把authorized_keys复制到其他要无密的机器上[hadoop@master ~]$ scp authorized_keys [email protected]:/home/hadoop/.ssh要以root权限过去,否则会出错

设置.ssh目录权限 chmod 700 -R .ssh
如果你想要每台机子都无密码登录,那么把每台机子产生的密钥添加到文件中(这是在受控端机子上面执行的)
cat id_rsa.pub >> .ssh/authorized_keys
 

现在可以从master免登录到slave1,那么如果想从slave1免登录到master,也需要在slave1上执行 scp authorized_keys [email protected]:/home/hadoop/.ssh/将文件拷贝到master之后,在master上面执行:cat id_rsa.pub >> .ssh/authorized_keys
这样既可以从master到slave1,也可以从slave1到master,均是免密码登录


比如我配置成功之后的界面如下: [hadoop@master ~]$ clear 
[hadoop@master ~]$ ssh slave1 
Last login: Mon Nov 3 13:33:02 2014 from 192.168.56.101 
[hadoop@slave1 ~]$ ssh master 
Last login: Mon Nov 3 13:33:06 2014 from 192.168.56.102 
[hadoop@master ~]$   

如果遇到登录失败的情况:我用的是centos版本是6.5,centos6.5对网络管理相当严格,需要在原来的基础上关闭selinux, 到/etc/selinux/config下,把SELINUX=enforcing修改为SELINUX=disabled,重启机器,ok。

你可能感兴趣的:(linux,ssh,免密登录,selinux/config)