首页 > 代码库 > ssh-免密登录批量发送脚本

ssh-免密登录批量发送脚本

 

 

 

1.新建node文件(文件中为需要发送的节点,不能包含主文件服务器)

node01node02node03node04

 

2.ssh的免密登录批处理脚本(需要同级目录下的nodes文件)

#!/bin/bashPASSWORD=passwordauto_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 hostdo{    auto_ssh_copy_id $host $PASSWORD}&waitdone

 

3、scp批处理(需要同级目录下的nodes文件),即下文命令中的scp.sh

#!/bin/bashcat nodes | while read hostdo{    scp -r $1 $host:$2}&waitdone

 

4、ssh批处理(需要同级目录下的nodes文件),即下文命令中的ssh.sh

#!/bin/bashcat nodes | while read hostdo{    ssh $host $1}&waitdone

使用scp批处理拷贝/etc/sysctl.conf到各节点

./scp.sh /etc/sysctl.conf /etc/

使用ssh批处理生效

./ssh.sh "sysctl -p"

 

ssh-免密登录批量发送脚本