Linux服务器中OpenSSH是最常用工具之一,可安全的远程连接到linux系统且具备强大功能。但是OpenSSH不能支持一次性在多台linux服务器上执行相同命令,这时就可以用并行SSH或PSSH工具。
PSSH是基于python的应用程序,支持用户在多个服务器上并行执行命令。PSSH工具包括OpenSSH并行版本和相关感觉,如pssh、pscp、prsync、pnuke、pslurp等。这些工具对于网络中处理大量节点系统管理员来说非常重要。基于RHEL发行版Linux中安装pip包再使用yum/dnf安装PSSH程序:
yum install python-pip
或者
dnf install python-pip
安装pip工具后,用pip命令安装passh包:
pip install pssh
基于debian发行版中用pip命令安装pssh:
sudo apt install python-pip
sudo pip install pssh
使用pssh时要创建一个主机文件,其中含主机数量及使用pssh连接到远程系统所需IP地址和端口号。宿主文件中行采用以下形式,还含空行和注释:
192.188.0.10:22
192.188.0.11:22
多台linux服务器上运行单个命令,先用root身份在多个linux主机终端执行echo:
pssh -h pssh-hosts -l root -A echo "Hello TecMint"并提示输入root用户密码:
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: [1] 15:54:55 [SUCCESS] 192.188.0.10:22[2] 15:54:56 [SUCCESS] 192.188.0.11:22
pssh-hosts 文件包含希望执行命令的远程 Linux 服务器的 IP 地址和 SSH 端口号的列表。
下查询多个linux服务器的磁盘空间使用情况:
pssh -h pssh-hosts -l root -A -i "df -hT"
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: [1] 16:04:18 [SUCCESS] 192.188.0.10:22
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 38G 4.3G 32G 12% /
tmpfs tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 ext4 190M 25M 156M 14% /boot
[2] 16:04:18 [SUCCESS] 192.188.0.11:22
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-root xfs 30G 9.8G 20G 34% /
devtmpfs devtmpfs 488M 0 488M 0% /dev
tmpfs tmpfs 497M 148K 497M 1% /dev/shm
tmpfs tmpfs 497M 7.0M 490M 2% /run
tmpfs tmpfs 497M 0 497M 0% /sys/fs/cgroup
/dev/sda1 xfs 497M 166M 332M 34% /boot
查询多linux服务器的正常运行时间:
pssh -h pssh-hosts -l root -A -i "uptime"
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: [1] 16:09:03 [SUCCESS] 192.188.0.10:22
16:09:01 up 1:00, 2 users, load average: 0.07, 0.02, 0.00
[2] 16:09:03 [SUCCESS] 192.188.0.11:22
06:39:03 up 1:00, 2 users, load average: 0.00, 0.06, 0.09
查看更多passh手动输入页面的更多用法:
pssh --help