天天看點

expect 批量分發ssh 公鑰實作自動部署

 自動分發部署的前提

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,如需轉載請自行聯系原作者