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