一、原理
我们使用ssh-keygen
在A主机上生成私钥
和公钥
,将公钥的内容粘贴到B主机的authorized_keys
文件内,就可以在A主机上
使用ssh
命令,不使用密码登陆B主机
。
二、操作步骤
## 假设有两台主机,实现互相免密登陆
node1.ambari.com
node2.ambari.com
各个主机均执行以下操作:
## 生成密钥对
ssh-keygen -t rsa ## 一路回车即可
## 进入.ssh目录
cd ~/.ssh
## 将公钥导入至authorized_keys
cat id_rsa.pub >> authorized_keys
## 修改文件权限
chmod 700 ~/.ssh
chmod 600 authorized_keys
在node1.ambari.com上执行:
## 配置主从互相免密登陆
[root@node1 ~]# cat ~/.ssh/id_rsa.pub | ssh root@node2.ambari.com 'cat - >> ~/.ssh/authorized_keys'
ssh node2.ambari.com
在node2.ambari.com上执行:
## 配置主从互相免密登陆
[root@node2 ~]# cat ~/.ssh/id_rsa.pub | ssh root@node1.ambari.com 'cat - >> ~/.ssh/authorized_keys'
## 验证是否免密
ssh node1.ambari.com
注意文件权限:.ssh文件夹为700,authorized_keys文件的权限必须是600,这样做保险。
备注: 如果只想主从节点免密的话,就将主节点的authorized_keys
文件拷贝到从节点的/root/.ssh/
目录下即可。
至此,免密登陆就实现了,如果还有其他问题的话,可以私信我哟~