vim aa.sh
#!/bin/bash
yum -y install
expect
if[ -f /root/.ssh/id_rsa ]
||[ -f id_rsa.pub ]
;then
#判斷是否有公金鑰
continue
else
#否則生產公金鑰
/usr/bin/expect <<
eof
spawn ssh-keygen -t rsa
expect ":"
expect ":"
expect ":"
expect eof
eoffi
read -ep "輸入需要免密的ip,可以輸入多個,用空格隔開:" ip
for i in
$ip#迴圈你免密的ip
do/usr/bin/expect <<
eofspawn ssh-copy-id root@$i
expect "yes/no"
expect "password"
expect eof
eofdone
sh aa.sh注意用空格隔開 ssh實現批量免密登入
使用場景 比如我們在使用ansible批量部署大量伺服器的時候,如果一台一台的伺服器去分發金鑰會很麻煩 所以用指令碼實現批量部署免密登入就很現實了。下面的 親測成功 但是有乙個缺點,缺點就是伺服器的密碼都是一致的,如果不是一致的,是不成功的。這裡用到了乙個軟體expect,expect是乙個自動化互...
批量部署免密登入及批量修改主機名ssh
注 主機需安裝pssh expect相關命令 一 由中心主機生成公鑰並批量傳輸至各節點 中心主機以root執行ssh keygen t rsa 在 root ssh 下生成id rsa 私鑰 id rsa.pub 公鑰 cat root ssh id rsa.pub tmp authorized k...
批量ssh免密登陸遠端主機
案例 1 中心主機以root執行ssh keygen t rsa 在 root ssh 下生成id rsa 私鑰 id rsa.pub 公鑰 cat root ssh id rsa.pub tmp authorized keys 備份並授權chmod 600 通過shell傳輸公鑰至各節點 scp....