1. 程式人生 > >shell指令碼批量推送公鑰

shell指令碼批量推送公鑰

針對大量的主機時,推送公鑰需要一個個的輸入IP和對面的密碼顯得異常的麻煩,所以寫了個shell指令碼進行批量推送。
先yum安裝一個expect軟體,這個軟體是負責互動的。
這裡先把需要推送的主機IP寫入到一個文字中,後續讀區的IP從這個文字中呼叫。
shell指令碼批量推送公鑰

#!/bin/bash
all=`cat /opt/ip.txt`     #定義一個變數,檢視文字中的內容
for i in $all    #定義i變數,逐個檢視
do
password="123456" #定義對方的密碼 
/usr/bin/expect -c "      #expect命令的路徑
        spawn ssh-copy-id [email protected]
$i #推送ip為逐個檢視的變數i expect { \"*(yes/no)\" { send \"yes\r\";exp_continue } #當匹配到yes/no時,回答yes \"*password\" { send \"$password\r\"; exp_continue } #當匹配到password的時候回答的密碼為我們定義的 } expect eof" done

這樣就可以直接免互動的進行推送了。