下文以配置2台主机无密码登录为例,本机名为master,另外一台机子名为slave1
1. 配置主机名
分别修改2台机子的主机名为master和slave1,具体方法:CentOS修改主机名(hostname)
2. 配置hosts
在2台主机上都执行以下操作,当前服务器放第一行
vi /etc/hosts
增加2行
115.10.20.1 master //前面为对应主机的ip地址
115.10.20.2 slave1
3. 生成公钥秘钥
(1)在master输入
cd ~/.ssh/
ssh-keygen -t rsa //一直按回车即可
cat id_rsa.pub >> authorized_keys //将公钥复制到authorized_keys文件
(2)在slave1输入
cd ~/.ssh/
ssh-keygen -t rsa //一直按回车即可
scp id_rsa.pub root@master:~/.ssh/id_rsa.pub_slave1 //将公钥复制到master上
(3)在master输入
cat id_rsa.pub_slave1 >> authorized_keys //将slave1的公钥追加到authorized_keys中(里面已经有master的公钥)
scp authorized_keys root@slave1:~/.ssh/ //将包含2台主机公钥的authorized_keys文件复制到slave1
4. 修改权限及配置
在2台主机上执行以下命令
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
vi /etc/ssh/sshd_config
将sshd_config中以下部分的注释去掉:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
重启ssh服务:service sshd restart
5. 测试
在master上使用ssh slave1,ssh localhost测试是否无需密码,在slave1使用ssh master,ssh localhost测试是否无需密码.