Linux配置SSH无密码登录

下文以配置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. 修改权限及配置

检查.ssh目录和authorized_keys的权限,如果不是分别为700和600以上(600或者644)的话,在2台主机上执行以下命令

chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
vi /etc/ssh/sshd_config

确认sshd_config中以下部分的内容(默认情况下以下代码是注释掉的,但是默认值就是yes,所以通常情况下不用配置):

RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile     .ssh/authorized_keys

重启ssh服务:service sshd restart

5. 测试

在master上使用ssh slave1,ssh localhost测试是否无需密码,在slave1使用ssh master,ssh localhost测试是否无需密码.

你可能感兴趣的:(centos,ssh,免密码登录)