pssh在Linux中怎么用,常用参数有哪些?

pssh(Parallel SSH)是Linux环境下高效的批量命令执行工具,基于Python开发,能通过一条命令在数十甚至数百台服务器上并行执行shell命令或传输文件,尤其适合运维工程师快速巡检、部署和排查问题。

pssh Linux使用教程:安装与基础配置

对于刚接触pssh的用户,首先需要掌握安装方法,由于pssh已进入主流发行版仓库,安装步骤极其简单。

每天一个Linux命令-chown
加载中
每天一个Linux命令-chown

使用系统包管理器安装

  • Debian/Ubuntu:执行 sudo apt update && sudo apt install pssh
  • RHEL/CentOS 7/8:启用EPEL源后运行 sudo yum install pssh 或 sudo dnf install pssh
  • Fedora:直接 sudo dnf install pssh
  • macOS:通过Homebrew安装 brew install pssh

安装完成后,输入 pssh --version 验证,若显示版本号(如0.9.0),即表示成功,pssh本身基于Python,因此系统需预装Python 2.7+或Python 3.x,这与绝大多数主流Linux发行版一致。

从源码获取最新版本

当需要体验最新特性时,可以从GitHub克隆仓库编译,以CentOS为例:

git clone https://github.com/lilydjwg/pssh.git
cd pssh
python setup.py install

这种方式不依赖包管理器,但注意后续升级需手动拉取源码,对于一般用户,推荐使用包管理器安装,便捷且稳定。

配套工具清单

安装pssh后,会同步获得以下四种实用命令:

  • pssh:并行执行远程命令
  • pscp:并行复制文件到多台主机
  • prsync:并行同步目录(基于rsync)
  • pnuke:并行终止远程主机上的进程

这些工具共享相同的参数体系,一次学习处处可用。

pssh用法详解:批量命令与文件传输

pssh的核心能力是对指定主机列表执行命令,整个过程清晰高效,下面从最简场景开始讲解。

准备主机列表

创建纯文本文件 hosts.txt,每行一个目标主机:

0.0.11
10.0.0.12
10.0.0.13

也可以用主机名代替,前提是DNS或/etc/hosts已解析。熟练后还可以直接在命令行传递主机列表,使用 -H 参数:

pssh -H "10.0.0.11 10.0.0.12 10.0.0.13" -l root -i "uptime"

常用参数组合

pssh提供丰富的选项,下表列出高频参数:

参数 作用 举例
-h 指定主机列表文件 -h hosts.txt
-H 直接列出主机 -H "h1 h2"
-l 指定远程用户 -l admin
-i 在本地显示标准输出和错误 最常用,实时看结果
-P 实时输出每台主机的结果 相当于增强版-i
-o 输出目录,每个主机单独文件 -o /tmp/pssh_out
-e 错误输出目录 -e /tmp/pssh_err
-p 并行度(并发数,默认32) -p 10
-A 手动输入密码 交互式,不建议脚本用
-t 超时时间(秒) -t 0 禁用超时

典型的使用方法是:pssh -h hosts.txt -l root -i "命令",例如检查所有服务器内存使用情况:

pssh -h all_servers -l root -i "free -h"

输出会依次显示每台主机的主机名和结果,非常直观。

批量文件分发

pscp 命令可将本地文件复制到所有目标主机的相同路径:

pscp -h hosts.txt -l root /etc/hosts /tmp/hosts

prsync 则基于rsync算法,对于大目录或增量同步更高效:

prsync -h hosts.txt -l root -avz /data/config /data/config_backup

实际场景举例

  • 批量安装软件包:pssh -h hosts.txt -l root -i "yum install -y htop"
  • 重启服务:pssh -h web_group -l root -i "systemctl restart nginx"
  • 查看日志尾部:pssh -h all -l root -i "tail -5 /var/log/messages"

这些操作在日常运维中反复出现,使用pssh一行命令即可完成,相比传统ssh循环效率提升数十倍。

pssh和ansible对比:选型分析

很多运维人员在选择批量管理工具时,会在pssh与Ansible之间犹豫,实际上两者定位不同,不存在绝对的优劣。简单说:pssh适合临时命令执行,Ansible适合长期配置管理。

差异详解

  • 设计哲学:pssh是“命令执行器”,专注于将同一个SSH命令并行推到多台机器;Ansible是“配置管理工具”,用YAML描述最终状态,自动达到状态。
  • 学习成本:pssh半小时即可上手;Ansible需要理解playbook、inventory、模块、变量等概念,新手可能需要一周。
  • 执行效率:pssh仅发起SSH连接,网络开销小;Ansible额外有解析playbook和facts收集,慢但功能全。
  • 错误恢复:pssh简单返回退出码;Ansible提供幂等性、重试、回滚等机制。

场景建议

  • 如果是快速巡检、分发配置、即时修复,用pssh节省时间。
  • 如果是标准化部署、持续交付、合规审计,用Ansible更可靠。
  • 实际很多工程师两者结合:日常问题用pssh,重大变更用Ansible。

pssh的价值在于轻量快速,不引入任何代理和依赖,因此也是业界排查问题的首选,例如网站响应慢,需要同时看10台web服务器的连接数和负载,pssh无疑是最快的方案。

批量管理最佳实践

为了充分发挥pssh的优势,需注意以下几点。

免密SSH登录

pssh必须依赖SSH认证,使用密码(-A)只能交互式输入,不适合自动化。标准做法是配置SSH密钥并分发公钥:

ssh-keygen -t rsa -b 4096
ssh-copy-id user@host

配合ssh-agent管理,后续执行pssh时无需再输入密码。

主机分组与安全

按角色建立主机列表文件,如 web.list、db.list、all.list,操作时指定对应的文件,避免误伤,同时尽量使用普通用户,再结合sudo权限执行特权命令,如:

pssh -h web.list -l ops -i "sudo systemctl restart httpd"

sudo可配置NOPASSWD,使流程更顺畅。

错误处理与日志

  • 使用 -o 和 -e 将输出与错误分类存储,便于事后审计。
  • 设置 -t 30 限制最大执行时间,防止某台机器挂起阻塞整体。
  • 对于关键操作,先在小范围测试,再扩大到全量。

利用脚本实现多步骤

当命令超过三行时,建议将逻辑写入脚本,通过pscp推送到目标机,再用pssh执行脚本,例如部署应用时:

# 准备部署脚本 deploy.sh
pscp -h all.new -l ubuntu deploy.sh /tmp/
pssh -h all.new -l ubuntu -i "chmod +x /tmp/deploy.sh && /tmp/deploy.sh"

这样既保留了pssh的并行优势,又能处理复杂流程,pssh就是这样一款工具轻量、高效、易上手,掌握它后你将不再畏惧大规模服务器操作。

关于pssh的常见问题

pssh安装后执行提示命令未找到?

通常是因为Python脚本路径未加入环境变量,使用 python -m pssh 代替直接命令,或确认pssh安装路径(如/usr/local/bin)在PATH中,重新登录shell通常解决。

pssh与parallel-ssh、clusterssh有什么区别?

pssh与parallel-ssh是同一个软件的不同命名,功能完全相同,而clusterssh(cssh)是另一种思路,它会打开多个终端窗口,让你同时给多个窗口输入,pssh则是返回标准输出,更适合脚本集成,大多数场景下pssh更实用。

pssh在macOS下如何管理Linux服务器?

macOS可直接通过Homebrew安装pssh,由于macOS自带OpenSSH客户端,与Linux服务器通信无任何障碍,注意在macOS上执行pssh时,主机列表中的IP必须可从本机访问,且建议使用密钥认证。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/pssh%e5%9c%a8linux%e4%b8%ad%e6%80%8e%e4%b9%88%e7%94%a8%ef%bc%8c%e5%b8%b8%e7%94%a8%e5%8f%82%e6%95%b0%e6%9c%89%e5%93%aa%e4%ba%9b%ef%bc%9f/

赞 (0)
上一篇 2026年7月17日 09:10
下一篇 2026年7月17日 09:18

相关推荐

  • 服务器多少钱怎么看才划算,服务器租用价格一般多少钱?

    看服务器多少钱,核心不是看月付数字,而是把配置、带宽、机房、防御、续费价和合规成本拆开,算清三年总拥有成本, 一份报价单里,真正决定价格的往往不是CPU型号,而是带宽是否独享、机房是否自营、防御是否虚标、续费是否翻倍,报价单先拆成六项硬成本CPU和内存:决定计算能力底价服务器租用或托管报价里,CPU通常写“4核……

    2026年10月11日
    100
  • 学校官网服务器多少钱,一年租用费用大概是多少?

    学校官网服务器一年的花费通常在数千元到两三万元之间,具体取决于你选择的服务器类型、带宽大小、防御能力以及是否包含运维服务, 如果只是展示型官网,选择云服务器或持牌IDC机房的物理服务器租用,首年预算多数落在几千元档位;如果涉及招生高并发、视频点播或安全防护,费用会上升到数万元,先搞清楚:学校官网到底需要什么样的……

    2026年10月12日
    200
  • 摩尔二服到底有多少个服务器,摩尔庄园二服服务器数量怎么查?

    摩尔二服有多少服务器?2026年实测架构与IDC选型真相摩尔二服并非单一实体机房,而是由多组物理节点与虚拟化集群组成的分布式游戏服务区,其服务器数量随开服批次、合服节奏动态浮动,玩家常说的“二服”实际对应数十台物理机与上百台虚拟机协同运行,要弄清具体承载规模,需从游戏架构、物理部署和IDC支撑三个层面拆解,摩尔……

    相关资讯 2026年11月4日
    100
  • 一个服务器究竟能赋能多少应用,怎么选配置?

    一台服务器能赋予业务的,不是某项单一能力,而是一整套可组合的数字化基础设施——从稳定连接、算力支撑到安全合规与品牌背书,它都能提供具体价值,到底能拆出多少个赋能维度?答案是七个,服务器在现代业务中早就不是“一台机器”这么简单,它是你网站能打开的基础,是用户数据安全的防线,也是对外合作时别人判断你是否专业的窗口……

    2026年9月16日
    600
  • 第三方app服务器租用多少钱

    第三方APP服务器租用多少钱,结论很直接:一台入门级云服务器月费普遍在50到200元之间,业务增长后弹性扩容至千元级别,最终价格取决于你对CPU、内存、带宽以及服务商资质的要求,为什么价格从几十到几千不等第三方APP服务器本质上是IDC服务商将物理机资源拆分出租,定价逻辑可以拆解成三个维度,硬件配置决定基础门槛……

    2026年8月14日
    1600
  • 军用服务器多少钱一台,军用服务器哪家价格便宜?

    军用服务器多少钱一个?十万元到上百万元不等,具体取决于加固等级、定制化程度和涉密安全认证要求,与商用服务器的定价逻辑完全不同,军用服务器不是”更贵的商用服务器”,它要扛得住恶劣环境、经得起安全审查、满足全生命周期追溯,看懂它为什么贵、贵在哪,才能判断报价是否合理,本文从价格构成、成本差异、采购实操三个维度拆解……

    2026年10月4日
    000
  • 公司装服务器要花多少钱,企业服务器搭建费用一般多少?

    给公司装服务器,预算通常由服务器硬件、机房托管、带宽IP和运维备份四块组成;中小企业常见年投入在数千元到数万元,自建机房或关键业务可能到数万元以上, 这笔钱不是拍脑袋报出来的,先按业务峰值拆项,再选托管或云,最后核服务商资质,预算才不容易跑偏,先把账算全:给公司装服务器到底花在哪服务器硬件:买、租、云三条路公司……

    相关资讯 2026年10月29日
    500
  • 电商服务器一年费用到底是多少,哪个平台租用便宜

    电商服务器一年费用没有统一报价,中小卖家常用配置多数落在1000元到5000元一年,大型促销或直播场景可能过万,核心变量是带宽、CPU内存、线路和防御,影响电商服务器多少钱一年的四个硬指标CPU与内存:先看订单并发,不是看配置数字电商后台不像个人博客只跑一个页面,商品详情、购物车、订单查询、库存扣减、优惠券计算……

    2026年9月12日
    200
  • 服务器5Mbps上下行到底是多少,怎么测?

    服务器的5Mbps带宽,通常指上下行对称的速率,即上行5Mbps,下行5Mbps,换算成实际下载速度约625KB/s, 这个速率决定了服务器在单位时间内传输数据的能力,也是选择业务方案时绕不开的基准线,理解5Mbps带宽的实际含义上下行对称的秘密很多朋友会把服务器带宽和家用宽带搞混,家用宽带为控制成本,常采用下……

    2026年8月20日
    1600
  • linux time服务怎么配置?linux时间同步设置方法

    在 Linux 系统中,时间服务(Time Service) 主要用于确保系统时钟的准确性,这对于日志记录、安全认证(如 Kerberos、SSL/TLS)、分布式系统同步等至关重要,现代 Linux 发行版主要使用 systemd-timesyncd(轻量级)或 chrony / ntpd(高精度/服务器级……

    2026年7月12日
    8600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注