Ansible配置100个新IP节点该怎么办?

本文介绍如何使用Ansible及辅助工具批量配置100个节点的SSH公钥,包括生成公钥、安装sshpass、编写批量推送脚本以及配置Ansible hosts文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景:Ansible配置100个IP节点该怎么办?

Ansible服务器:192.168.31.10
新节点:192.168.31.11-192.168.31.110

批量推送节点公钥

1.生成公钥

shh-keygen  #全默认 无密码

2.使用ssh-copy-id 以及sshpass工具

只要解决两个问题:输入yes以及密码

vim ~/.ssh/config  

      StrictHostKeyChecking=no
      UserKnownHostsFile=/dev/null
yum -y install sshpass

接下来就能通过一下命令推送公钥了~

[root@qian1 .ssh]# sshpass -p '123456' ssh-copy-id root@192.168.31.20

3.运行下面的脚本就能批量的将公钥复制到远程主机中

#用户名密码相同时脚本
  1 #!/bin/bash
  2 for i in `seq 11 110`
  3 do
  4  sshpass -p'123456' ssh-copy-id root@192.168.31.$i
  5 done
~          
#密码不同时
1.vim remote-hosts #记录hosts 服务器名 密码 ip
server1  192.168.31.20  123456
server2  192.168.31.21  02468x

2.编写脚本


  1 #!/bin/bash
  2 # push public key to remote hosts
  3 # creat a file(remote-hosts) for writing node's information
  4 #
  5 for i in `seq 2 100`
  6  do
  7 ip=$(awk -v va=$i 'NR==va{print $2}' /root/remote-hosts)
  8 password=$(awk -v va=$i 'NR==va{print $3}' /root/remote-hosts)
  9 echo $ip
 10 sshpass -p$password ssh-copy-id -i root@$ip
 11 done
~         

配置hosts文件

vim /etc/ansible/hosts
#添加
[test]
192.168.31.[011:110]

3.验证
ansible -m ping all

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值