使用Shell脚本配置进行多台linux服务器互为免登

一、判断密钥对是否存在,自动生成

   直接复制即可
 
cat <<END >> /root/ssh.sh
if [ ! -f ~/.ssh/id_rsa ];then
 ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa &> /dev/null
else
 echo "已存在密钥对"
fi
rm -rf /root/ssh.sh
END        
bash ssh.sh       
     

二、批量复制公匙到服务器

注意: 执行以下脚本的前提需要先在“所有服务器”上先生成密钥对

注意:是所有服务器

复制前核对IP及密码

cat <<END >> /root/ssh.sh
#!/bin/bash
#指定密码
password=123.com
#安装所需软件
yum -y install expect >> /dev/null
#循环免登IP
for i in {10,11,12}
  do
    expect <<-EOF
    set timeout 5
    spawn ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.2.\$i
    expect {
    "yes/no" { send "yes\n";exp_continue }
    "password:" { send "\$password\n" }
    }
  interact
  expect eof
EOF
done
END   
bash ssh.sh   
   

 验证:可以互相免登

[root@C7-10 ~]# ssh root@192.168.2.11
Last login: Sun Mar  6 21:37:33 2022 from 192.168.2.254
[root@C7--11 ~]# exit
登出
Connection to 192.168.2.11 closed.
[root@C7-10 ~]# ssh root@192.168.2.12
Last login: Sun Mar  6 21:37:36 2022 from 192.168.2.254
[root@localhost ~]# exit
登出
————————————————————————————————————————————————————————————-
[root@C7--11 ~]# ssh root@192.168.2.12
Last login: Sun Mar  6 21:45:34 2022 from 192.168.2.10
[root@localhost ~]# exit
登出
Connection to 192.168.2.12 closed.
[root@C7--11 ~]# ssh root@192.168.2.10
Last login: Sun Mar  6 21:37:30 2022 from 192.168.2.254
[root@C7-10 ~]# exit
登出
——————————————————————————————————————————————————————————————
[root@localhost ~]# ssh root@192.168.2.10
Last login: Sun Mar  6 21:45:48 2022 from 192.168.2.11
[root@C7-10 ~]# exit
登出
Connection to 192.168.2.10 closed.
[root@localhost ~]# ssh root@192.168.2.11
Last login: Sun Mar  6 21:45:29 2022 from 192.168.2.10

 过程:1、生成密钥对;2、修改 ip;3、修改登录密码、4、复制粘贴

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乘浪初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值