Linux SSH 配置节点互信

1 安装sshpass工具

su - root
yum -y install sshpass -y

2 为root用户配置互信

2.1 配置互信

ssh-keygen -t rsa -P '' -f '/root/.ssh/id_rsa'
for host in `grep node /etc/hosts |awk '{print $2}'`; 
do sshpass -p kingbase.123 ssh-copy-id -o StrictHostKeyChecking=no root@$host; done

2.2 验证互信成功

for host in `grep node /etc/hosts |awk '{print $2}'`; do ssh root@$host date; done

3 为postgres用户配置互信

su - postgres
ssh-keygen -t rsa -P '' -f '/home/postgres/.ssh/id_rsa'

for host in `grep node /etc/hosts |awk '{print $2}'`; 
do sshpass -p postgres ssh-copy-id -o StrictHostKeyChecking=no postgres@$host; done
for host in `grep node /etc/hosts |awk '{print $2}'`; do ssh postgres@$host date; done

4 node1配置 SSH 信任

1、在SSH客户端生成用户的公钥和私钥对文件

su - postgres
ssh-keygen -t rsa

2、将SSH客户的公钥添加到SSH服务器中用户的认证文件中

ls -1 ~/.ssh
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
ssh-copy-id -i ~/.ssh/id_rsa.pub node2
ssh-copy-id -i ~/.ssh/id_rsa.pub node3

3、不需密码或仅需私钥密码就表示密钥认证成功

ssh -l postgres node2
exit 
ssh -l postgres node3

4、将SSH客户的公钥添加到SSH服务器中用户的认证文件中

su - postgres

5、不需密码或仅需私钥密码就表示密钥认证成功

ssh -l postgres node1

5 node2配置 SSH 信任

1、在SSH客户端生成用户的公钥和私钥对文件

su - postgres
ssh-keygen -t rsa

2、将SSH客户的公钥添加到SSH服务器中用户的认证文件中

ls -1 ~/.ssh/
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
ssh-copy-id -i ~/.ssh/id_rsa.pub node2
ssh-copy-id -i ~/.ssh/id_rsa.pub node3

3、不需密码或仅需私钥密码就表示密钥认证成功

ssh -l postgres node1 
exit 
ssh -l postgres node3

4、将SSH客户的公钥添加到SSH服务器中用户的认证文件中

su - postgres
ssh-copy-id -i ~/.ssh/id_rsa.pub node2

5、不需密码或仅需私钥密码就表示密钥认证成功

ssh -l postgres node2

6 node3配置 SSH 信任

1、在SSH客户端生成用户的公钥和私钥对文件

su - postgres
ssh-keygen -t rsa

2、将SSH客户的公钥添加到SSH服务器中用户的认证文件中

ls -1 ~/.ssh/
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
ssh-copy-id -i ~/.ssh/id_rsa.pub node2
ssh-copy-id -i ~/.ssh/id_rsa.pub node3

3、不需密码或仅需私钥密码就表示密钥认证成功

ssh -l postgres node1 
exit 
ssh -l postgres node2

4、将SSH客户的公钥添加到SSH服务器中用户的认证文件中

su - postgres
ssh-copy-id -i ~/.ssh/id_rsa.pub node3

5、不需密码或仅需私钥密码就表示密钥认证成功

ssh -l postgres node3