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

Posted y酒味i

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh-免密登录批量发送脚本相关的知识,希望对你有一定的参考价值。

 

 

 

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 | while read host
do
{
    ssh $host $1
}&wait
done

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

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

使用ssh批处理生效

./ssh.sh "sysctl -p"

 

以上是关于ssh-免密登录批量发送脚本的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本实现SSH免密登录及批量配置管理

Shell脚本实现SSH免密登录及批量配置管理

Shell脚本自动化配置SSH免密登录和取消SSH免密配置脚本

批量实现ssh免密登录

linux下expect命令实现批量ssh免密

linux免密登录配置