解决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

就可以了

相关推荐
m0_488777658 小时前
Ansible-Playbook 剧本编写
ansible·playbook·剧本编写
hanyi_qwe16 小时前
Ansible-Playbook 剧本编写
ansible
原神启动120 小时前
Ansible(三)—— 使用Ansible自动化部署LNMP环境
android·自动化·ansible
可爱又迷人的反派角色“yang”1 天前
ansible剧本编写(三)
linux·网络·云计算·ansible
叽里咕噜怪2 天前
Ansible Playbook 从入门到精通:零基础玩转自动化部署与配置管理
网络·自动化·ansible
lin张2 天前
Ansible学习总结:从基础命令到Playbook实战
网络·学习·ansible
可爱又迷人的反派角色“yang”2 天前
ansible基本命令与剧本编写(二)
linux·运维·ansible
m0_485614672 天前
ansible基础命令
ansible
叫致寒吧2 天前
自动化运维工具 Ansible
运维·自动化·ansible
m0_488777652 天前
Ansible基础概念及相关命令
ansible·模块·自动化运维工具