#!/usr/bin/env bash
# 寫個用於自動生成金鑰對的函式
rpm -qa |
grep
expect
&&echo
"expect yi anzhuang"
||yum -y install
expect
auto_keygen(
) "overwrite (y/n)?"
"no passphrase):"
"again:"
}expect eof
eof}
#ssh-keygen -t rsa -p "" -f /root/.ssh/id_rsa
# 寫個自動免密登入的函式
send_key(
) "*password:*"
}expect eof
eof}
# 定義乙個變數,其值是當前使用者的公鑰檔案
pub_key_file=
$home/.ssh/id_rsa.pub
# 假如公鑰檔案不存在,說明需要建立金鑰對if[
! -f $];
then
auto_keygen
ficat
>ips.txt <<
eofroot 192.168.122.65
eofold_ifs=
$ifs
ifs=$'\n'
for num in
$(cat ips.txt)
do a=
$(echo $num |
awk''
) b=
$(echo $num |
awk''
) read -p "$b passwd" c
send_key $a
$b$c
done
export ifs=
$old_ifs
sshpass實現批量散發公鑰
在安裝ansible之後,需要批量散發公鑰,這裡小小的寫了乙個指令碼去散發公鑰 關閉ssh的連線詢問 在ansible機上編輯ssh的配置檔案 sudo vim etc ssh ssh config stricthostkeychecking ask stricthostkeychecking no...
利用Ansible 批量推送公鑰
yuminstall epel release 確保有擴充套件源 yum install ansible y ansible version ansible 2.9.6 配置檔案路徑config file etc ansible ansible cfg 查詢模組路徑configured module...
(九)expect批量公鑰推送
注意 注釋不能出現這指令碼裡面 spawn表示開啟乙個會話 r 表示回車,exp continue 表示沒有出現這樣,繼續往下執行 interact 停留在對面終端 usr bin expect spawn ssh root 192.168.111.101 expect password inter...