ssh-免密登錄批量發送腳本
阿新 • • 發佈:2017-05-21
logs -1 expect 服務 發送 節點 exp ssh nod
1.新建node文件(文件中為需要發送的節點,不能包含主文件服務器)
node01
node02
node03
node04
2.ssh的免密登錄批處理腳本(需要同級目錄下的nodes文件)
#!/bin/bash PASSWORD=password auto_ssh_copy_id() { expect -c "set timeout -1; spawn ssh-copy-id $1; expect { *(yes/no)* {send -- yes\r;exp_continue;} *assword:* {send -- $2\r;exp_continue;} eof {exit 0;} }"; } cat nodes | while read host do { auto_ssh_copy_id $host $PASSWORD }&wait done
3、scp批處理(需要同級目錄下的nodes文件),即下文命令中的scp.sh
#!/bin/bash cat nodes | while read host do { scp -r $1 $host:$2 }&wait done
4、ssh批處理(需要同級目錄下的nodes文件),即下文命令中的ssh.sh
#!/bin/bash cat nodes | whileread host do { ssh $host $1 }&wait done
使用scp批處理拷貝/etc/sysctl.conf到各節點
./scp.sh /etc/sysctl.conf /etc/
使用ssh批處理生效
./ssh.sh "sysctl -p"
ssh-免密登錄批量發送腳本