ssh免密批量部署

2021-09-29 10:10:45 字數 689 閱讀 5583

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....