ansible免交互自动复制密钥

 首先需要生成密钥,在命令行输入:
 

ssh-keygen

然后一路enter完成密钥创建.

接下来开始编写自动复制密钥脚本:

#!/usr/bin/expect
#使用expect作为解释器,所以以下的语法需要使用tcl


#创建复制密钥的函数,自动完成交互.
#假设需要复制的主机ip为xx.xxx.xx.120到xx.xxx.xx.200
proc keycopy {a} {
 spawn ssh-copy-id -i xx.xxx.xx.$a
 expect {
 "(yes/no)"
 {send "yes\r";exp_continue}
 "*password"
 {send "111111\r"}
 }
 interact
}


#通过for循环调用上面创建的函数,完成批量密钥的写入
for {set b 120} { $b < 201} {incr b} {
     keycopy $b
}

使用之前需要安装expect,可通过输入:

expect -version

查看expect版本。

编辑完成之后保存.到命令行输入:

chmod +x $filename

添加文件可执行权限.

在命令行输入:

expect $filename

执行文件.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值