文档首页> 服务器相关问题> 怎么批量ssh登录并执行命令

怎么批量ssh登录并执行命令

发布时间:2024-11-21 13:40       

维护集群时,常常需要在大量服务器上执行相同的命令,虽然可以自己写循环执行脚本,但是不仅麻烦而且执行效率不高。此时我们通常会使用pssh工具来并发执行SSH指令。

- 控制机以centos7系统为例

- 安装 pssh和 sshpass

`yum -y install pssh`

`yum -y install sshpass`

 

 

- 批量获取机器名:

`sshpass -p 'password' pssh -O StrictHostKeyChecking=no -h ip.txt -l root -A -i "hostname"`

 

- 批量重启:

`sshpass -p 'password' pssh -O StrictHostKeyChecking=no -h ip.txt -l root -A -i "reboot"`

`password` 是root密码

 

ip.txt 内容格式如下:

172.18.0.11

172.18.0.12:2222

172.18.0.13:3333

如果SSH默认22端口可以不用加端口。如果SSH端口不同,可在ip后面加上端口号。

成功返回 **SUCCESS**

失败返回 **FAILURE**

 

 

pssh 常用参数

-h 主机名列表文件

-l 登陆用户名,例如 -l root

-A 提供统一的登陆密码

-i 交互模式,远程服务器的命令执行结果会输出

-O ssh参数

 

- sshpass  常用参数

-f 指定密码文件

-p 指定密码

扫一扫访问手机版
30+ 高防云产品
1000+企业的共同选择