批量部署多台主机 key 验证脚本

偷得浮生 记录精彩的人生 本文由博客端 https://www.zhangzhuo.ltd 主动推送

#!/bin/bash
#
#********************************************************************
#Author:zhangzhuo
#QQ: 1191400158
#Date: 2021-01-14
#FileName:ssh_host.sh
#URL: https://www.zhangzhuo.ltd
#Description:The test script
#Copyright (C): 2021 All rights reserved
#********************************************************************
. /etc/init.d/functions

#执行脚本的主机IP地址,与密码
SET_IP=192.168.10.81
SET_PASS=123456

#远程主机的IP,与密码
IP="
192.168.10.71
192.168.10.72
"
PASS='123456'


#在执行脚本的主机生成密钥和认证信息
ssh-keygen -P "" -f /root/.ssh/id_rsa &>/dev/null
sshpass -p $SET_PASS ssh-copy-id -o StrictHostKeyChecking=no $SET_IP &>/dev/null
action "分发的私钥和认证信息已经生成"
#远程拷贝密钥
for i in $IP;do
expect <<EOF &>/dev/null
set timeout 20
spawn scp -r /root/.ssh $i:/root 
expect {
    "y/n" { send "y\n";exp_continue }
    "yes/no" { send "yes\n";exp_continue }
    "password" { send "${PASS}\n" }
}
expect eof
EOF
action "主机${i} SSH的key认证已配置"
done

脚本注意事项:

  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    107 引用 • 71 回帖 • 547 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...