首页 > Linux操作系统 > Linux操作系统 > Linux 试试 通道互信创建
【一 环境说明】
现在有5台Linux机器,配置在node01:/etc/hosts
192.168.122.10 node1
192.168.122.20 node2
192.168.122.30 node3
192.168.122.40 node4
192.168.122.50 node5
前提条件: 所有机器都有scott用户,密码dba123
下面所有操作全都是以scott用户身份在node01上操作,除非有说明。
【二 操作步骤】
1)先创建本机ssh-keygen
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa -q
2)收集node1,node2...node5所有节点的指纹存放在node1:/home/longer/.ssh/known_hosts
##收集主机名称
for hname in node{1..5}
do
ssh-keyscan ${hname} >> ~/.ssh/known_hosts 2>/dev/null
done
##收集IP地址
for hname in 192.168.10.2{0..4}
do
ssh-keyscan ${hname} >> ~/.ssh/known_hosts 2>/dev/null
done
3) 创建node2 ... node5 ssh秘钥,依然在node1上执行
for hname in node{2..5}
do
sshpass -p dba123 ssh -t $hname 'ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa -q &>/dev/null'
done
4) 传送node1机器的scott用户的公钥到各目标机器(包括node1)。
for hname in node{1..5}
do
sshpass -p dba123 ssh-copy-id -f -i ~/.ssh/id_rsa.pub "-o StrictHostKeyChecking=no" ${hname}
done
此操作会把node1 的id_rsa.pub 追加到所有主机 scott用户下的/home/longer/.ssh/authorized_keys文件中。
【说明: 此操作完成后,node1上的scott用户可以无密码,无指纹识别确认,访问其他几个主机节点了。但是其他主机节点还不没有node1机器的scott用户的权限,还需要几个步骤】
5)收集远程公钥追加到本地node1的用户scott的文件 ~/.ssh/authorized_keys
for hname in node{2..5}
do
ssh ${hname} cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
done
6)分发authorized_keys , known_hosts 到各个目标机器上,实现个节点无密码,无指纹互访。
for hname in node{2..5}
do
scp ~/.ssh/authorized_keys ${hname}:~/.ssh/
scp ~/.ssh/known_hosts ${hname}:~/.ssh/
done
到此,已经完成node1,node2 ... node5节点互访
----------------------------------------------------------
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9606353/viewspace-3022541/ ,如需转载,请注明出处,否则将追究法律责任。