centos ssh 免密码登陆linux
这里为了方便说明问题,假设有A和B两台安装了centos6.5的主机。目标是实现A、B两台主机分别可以经过ssh免密码登陆到对方主机。不一样主机的配置过程同样,这里介绍A主机的配置过程。vim
事先在AB主机分别建立好要免密码登陆的用户名,在/etc/hosts文件增长主机名和ip。centos
建立新用户:useradd jay 设置密码:passwd jay,输入本身想要的密码便可,以后su jay切换用户 修改主机名:vim /etc/sysconfig/network,加入hostname=master,注销系统以后便可看到修改为功 修改hosts文件:vim /etc/hosts 192.168.88.101 master 192.168.88.102 slave1
关闭selinux。到/etc/selinux/config下,把SELINUX=enforcing修改成SELINUX=disabled 。须要root权限。服务器
# su root Password: $ vim /etc/selinux/config 找到SELINUX并修改成SELINUX=disabled
关闭防火墙iptablesssh
service iptables stop(服务器重启后会失效) chkconfig iptables off(重启自动关闭防火墙)
$ vim /etc/ssh/sshd_config 找到如下内容,并去掉注释符“#” RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
$ /sbin/service sshd restart 或 /etc/init.d/sshd restart
从root切换回要免密码登陆的用户jay,执行命令。测试
# ssh-keygen -t rsa
默认在用户jay的家目录(~/.ssh/)生成两个文件:
id_rsa: 私钥
id_rsa.pub:公钥调试
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
完成这一步,再按照步骤4修改相关文件权限,能够免密码登陆本机。能够输入如下命令验证。rest
ssh localhost
若是可以登陆,即验证成功。日志
# scp ~/.ssh/id_rsa.pub root@目标主机ip或主机名:/home/id_rsa.pub
注意把文件传送到目标主机时,要用root用户,不然会因权限不够而拒绝。输入目标主机密码后,出现OK即传输成功。code
使用要被免密码登陆的用户名jay,登陆到目标主机。而后执行如下操做。
# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
再按照步骤4修改相关文件权限,完成免密码登陆设置。
# chmod 700 ~/.ssh # chmod 600 ~/.ssh/authorized_keys
至此,完成免密码登陆设置。
A主机(jay@master),B主机(jay@slave1)。在A主机,切换为jay用户,执行如下命令测试:
ssh slave1 或者ssh -v jay@slave1 (-v 调试模式,显示登录信息)
可以免密码直接登陆,即设置成功,之后就能够用"ssh user@host"直接免密码登录了。如失败或者仍然要输入密码,能够在服务器查看日志文件:/var/log/secure查找缘由。
而后请再仔细检查以上各个步骤,若是发现步骤没有错但仍是不行,就把服务器重启而后尝试免密码登陆(本人以前配置的时候就遇到过相似的状况,重启服务器后就能够免密码登陆了)。