解决ansible批量加入新IP涉及known_hosts报错的问题

我们把一批新的IP加入到ansible的hosts文件,比如/etc/ansible/hosts,往往会有这样的提示,

因为本机的~/.ssh/known_hosts文件中并有fingerprint key串,使用ssh连接目标主机时,一般会提示是否将key字符串加入到~/.ssh/known_hosts文件中,若输入yes,则本机以后再次使用ssh连接目标主机时,不会弹出确认。于是,我们得一个个ssh目标主机,输入一个个yes,非常繁琐,这里提供一个批量操作的脚本。

bash 复制代码
yum -y install expect

vim group.exp

bash 复制代码
#!/usr/bin/expect
set timeout 2
spawn ssh -p 22 user@[lindex $argv 0]
expect {
  "sure" { send "yes\r"; exp_continue }
  "*#" { send "\r" }
}

然后 chmod a+x group.exp

bash 复制代码
for ip in `cat iplist`;do ./group.exp $ip;done

就可以了

相关推荐
早睡冠军候选人2 天前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
yourkin6665 天前
Ansible
ansible
Ribou5 天前
ansible 自动安装软件,实现列表选择软件的方法
ansible
文静小土豆5 天前
Ansible 自动化部署K8S1.34.1
kubernetes·自动化·ansible
K_i1347 天前
Helm 与 Ansible 深度对比解析文档
自动化·ansible
zmjjdank1ng8 天前
什么是Ansible 清单
服务器·自动化·ansible
Yyyy4828 天前
ansible role配apt源
ansible
K_i13414 天前
Ansible实战:VMware下K8s自动化部署指南
kubernetes·自动化·ansible
许泽宇的技术分享14 天前
Ansible核心架构深度剖析:从源码看IT自动化的“简单“哲学
python·ansible·自动化运维·devops·it基础设施
荣光波比14 天前
Ansible(三)—— 使用Ansible自动化部署LNMP环境实战指南
运维·自动化·云计算·ansible