linux ssh 免密登
转载请务必注明原创地址为:http://dongkelun.com/2018/04/...
以下用三台centos为例,ip分别为192.168.44.138、192.168.44.139、192.168.44.140,分别对应别名master、slave1、slave2
1、首先在每个机器上执行
ssh-keygen -t rsa
一直按回车默认就好
2、将公钥导入到认证文件中
将三个机器上id_rsa.pub的内容合并起来放在authorized_keys,可以用命令按下面的步骤来,也可以分别将三个机器的公钥拷贝出来放在一个文件里,之后分别复制到各自机器的authorized_keys,我用的是下面的命令
2.1 在master上执行
cd ~/.ssh cat id_rsa.pub>>authorized_keys
(这时如果配单机的话,就可以免密登录本机了,可以执行ssh localhost 或ssh master验证一下,如下图)
如果不能免密登录,可能是文件权限不对,执行下面的命令,再验证一下
chmod 710 authorized_keys
然后将master的authorized_keys传到slave1上的.ssh目录下
scp -r authorized_keys root@slave1:~/.ssh
2.2 在slave1上执行
cd ~/.ssh cat id_rsa.pub>>authorized_keys scp -r authorized_keys root@slave2:~/.ssh
这一步实际是将salve1的id_rsa.pub和master传过来的authorized_keys里的内容合并起来存到authorized_keys,然后将authorized_keys传到slave2机器上
2.3 在slave2上执行
cd ~/.ssh cat id_rsa.pub>>authorized_keys scp -r authorized_keys root@master:~/.ssh scp -r authorized_keys root@slave1:~/.ssh
这一步实际是将salve2的id_rsa.pub和slave1传过来的authorized_keys里的内容合并起来存到authorized_keys,然后将authorized_keys传到master、slave1机器上。
到这里,每台机器上的authorized_keys都含有三台机器的公钥,在每台机器上验证一下是否可以免密ssh登录到三台机器上了。
ssh master ssh slave1 ssh slave2
如果都不需要输入密码,就代表配置成功!