Centos叢集免密登陸指令碼
阿新 • • 發佈:2020-07-13
passwdless.sh
#!/bin/bash # passwdless.sh # 安裝expect yum install expect -y echo "按enter鍵3次即可" # 生成祕鑰(按enter鍵3次即可生成) ssh-keygen -t rsa # 需要配置的主機名 SERVERS="192.168.1.120 192.168.1.121 192.168.1.122 192.168.1.123" # SERVERS="m1 m2 m3 n1 n2" # 需要配置的主機登入密碼 PASSWORD=123456 # 將本機生成的公鑰複製到其他機子上 # 如果(yes/no)則自動選擇yes繼續下一步 # 如果password:怎自動將PASSWORD寫在後面繼續下一步 auto_ssh_copy_id(){ expect -c "set timeout -1; spawn ssh-copy-id $1; expect { *(yes/no)* {send -- yes\r;exp_continue;} *password:* {send -- $2\r;exp_continue;} eof {exit 0;} }"; } # 遍歷要傳送到各個主機的ip ssh_copy_id_to_all(){ for SERVER in $SERVERS do auto_ssh_copy_id $SERVER $PASSWORD done } ssh_copy_id_to_all
執行指令碼
# 建立指令碼(將上面的內容複製到指令碼中)
vi passwdless.sh
# 指令碼賦權
chmod +x ./passwdless.sh
# 執行指令碼
./passwdless.sh