1.在使用之前,先安装epel源,yum install expect
2.写分发脚本,后缀为exp
<code> </code><code>#!/usr/bin/expect</code>
<code> </code><code>set</code> <code>host_ip [lindex $argv 0]</code>
<code> </code><code>spawn </code><code>ssh</code><code>-copy-</code><code>id</code> <code>-i </code><code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.pub $host_ip</code>
<code> </code><code>expect {</code>
<code> </code><code>-timeout 60</code>
<code> </code><code>"(yes/no)?"</code> <code>{ send </code><code>"yes\n"</code><code>;exp_continue}</code>
<code> </code><code>"password:"</code> <code>{ send </code><code>"123456\n"</code><code>}</code>
<code> </code><code>timeout {puts </code><code>"Connect timeout!"</code><code>;</code><code>return</code><code>}</code>
<code> </code><code>}</code>
<code> </code><code>expect eof</code>
<code> </code><code>exit</code> <code>-onexit {</code>
<code> </code><code>send_user </code><code>"Job has finished!"</code>
注:set的作用是设置变量,spawn设置执行命令时,可以引用变量;变量的第一个参数为0
3.设置变量列表,并调用自动分发脚本;后缀为sh
<code> </code><code>#!/bin/bash</code>
<code> </code><code>iplist=(</code>
<code> </code><code>192.168.0.241</code>
<code> </code><code>192.168.0.242</code>
<code> </code><code>192.168.0.243</code>
<code> </code><code>)</code>
<code> </code><code>for</code> <code>ip </code><code>in</code> <code>${iplist[*]};</code><code>do</code>
<code> </code><code>expect </code><code>/root/ssh164</code><code>.exp $ip</code>
<code> </code><code>done</code>
4.开始分发
#sh ssh164.sh
本文转自激情燃烧的岁月博客51CTO博客,原文链接http://blog.51cto.com/liuzhengwei521/1832764如需转载请自行联系原作者
weilovepan520