根据hosts文件批量ssh-key认证及修改主机名

来源:互联网 发布:损坏视频修复软件 编辑:程序博客网 时间:2024/06/05 14:14

在运维工作的有时会遇到一批机器上线,然后要手忙脚乱的搞系统初始化等等。当然那些牛逼的企业都是鼠标点一点就行了,然后就坐那喝咖啡去了。如果事先有自定义的镜像当然可以拿出来直接用,可以省去很多操作,比如zabbix-agent,ssh-key,salt-minion….的配置。屁话不多说,直接贴脚本,环境基于CentOS 7

hosts文件的定义

这里把他复制出来成一个新文件

]# cat iplist.txt     172.16.23.117 XiaoDian_API_S1172.16.23.118 XiaoDian_API_S2172.16.23.120 XiaoDian_Redis_S1172.16.23.121 XiaoDian_Redis_S2172.16.23.122 XiaoDian_Redis_S3172.16.23.119 XiaoDian_Seller_S1172.16.23.125 XiaoDian_Seller_S2172.16.23.123 XiaoDian_SuperAdmin_S1

脚本

]# cat sync_ssh_key.sh #!/bin/bashuser='root' //root还是少用的好,虽然都这么说,但还是喜欢直接用它passwd='' //你的密码for ip in $(awk -F' ' '{print $1}' iplist.txt); do(    /usr/bin/expect<<EOF    set timeout -1    spawn ssh-copy-id  $user@$ip    expect {    "*yes/no" { send "yes\r";exp_continue }    "password:" { send "$passwd\r"}    }    expect eofEOF)        name=`grep $ip iplist.txt| awk -F' ' '{print $2}'`        ssh $user@$ip "/usr/bin/hostnamectl set-hostname $name"        scp /etc/hosts $user@$ip:/etc/hostsdone
原创粉丝点击