自動分發部署的前提
1、安裝expect 軟體包,安裝方法配置好epel源或者源碼安裝, 這裡推薦 配置好epe 源,實作yum 安裝 yum install expect -y
2、生成 ssh 公鑰 ssh-keygen
cat fenfa.expect
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<code>#!/usr/bin/expect</code>
<code>#date:2017/11/10</code>
<code>Author: http:</code><code>//sdsca</code><code>.blog.51cto.com/</code>
<code>Usage: sh fenfa.expect ip</code>
<code>set</code> <code>ip [lindex $argv 0 ] </code>
<code>set</code> <code>password 123.com </code><code>#遠端伺服器密碼</code>
<code>set</code> <code>timeout 10</code>
<code>cd</code> <code>~</code>
<code>spawn </code><code>ssh</code><code>-copy-</code><code>id</code> <code>-i .</code><code>ssh</code><code>/id_rsa</code><code>.pub root@$ip </code>
<code> </code><code>expect {</code>
<code> </code><code>"*yes/no"</code> <code>{ send </code><code>"yes\r"</code><code>; exp_continue} </code>
<code> </code><code>"*password:"</code> <code>{ send </code><code>"$password\r"</code> <code>} </code>
<code> </code><code>}</code>
<code>expect </code><code>"#*"</code>
<code>expect eof</code>
分發到多台伺服器上面
cat fenfa.sh
<code>#!/bin/bash</code>
<code>Author:http:</code><code>//sdsca</code><code>.blog.51cto.com/</code>
<code>Usage: sh fenfa.sh</code>
<code>for</code> <code>ip </code><code>in</code> <code>32 ; </code><code>do</code> <code>#這裡可以配置好ip ,進行for 循環</code>
<code> </code>
<code> </code><code>/root/fenfa</code><code>.expect 192.168.10.$ip</code>
<code> </code>
<code>done</code>
本文轉自 水滴石川1 51CTO部落格,原文連結:http://blog.51cto.com/sdsca/1980701,如需轉載請自行聯系原作者