PSSH - Spouštění příkazů na více vzdálených systémech Linux
Není pochyb o tom, že OpenSSH je jedním z nejpoužívanějších a nejvýkonnějších nástrojů dostupných pro Linux, který vám umožňuje bezpečně se připojit ke vzdáleným systémům Linux prostřednictvím shellu a umožňuje vám bezpečně přenášet soubory do a ze vzdálených systémů.
Ale největší nevýhodou OpenSSH je, že nemůžete spustit stejný příkaz na více hostitelích najednou a OpenSSH není vyvinuto k provádění takových úkolů.
Zde se hodí nástroj Parallel SSH nebo PSSH, což je aplikace založená na Pythonu, která vám umožňuje spouštět příkazy na více hostitelích paralelně současně.
Nástroj PSSH zahrnuje paralelní verze OpenSSH a souvisejících nástrojů, jako jsou:
- pssh – je program pro paralelní spouštění ssh na více vzdálených hostitelích.
- pscp – je program pro paralelní kopírování souborů na více hostitelů.
- prsync – je program pro efektivní paralelní kopírování souborů na více hostitelů.
- pnuke – zabíjí procesy na více vzdálených hostitelích paralelně.
- pslurp – paralelně kopíruje soubory z více vzdálených hostitelů do centrálního hostitele.
Tyto nástroje jsou dobré pro systémové administrátory, kteří pracují s velkými kolekcemi uzlů v síti.
Nainstalujte PSSH nebo Parallel SSH na Linux
V této příručce se podíváme na kroky k instalaci nejnovější verze programu PSSH (tj. verze 2.3.1) v distribucích založených na RHEL, jako je Fedora, CentOS Stream , Rocky & AlmaLinux a distribuce založené na Debianu, jako je Ubuntu a Linux Mint pomocí příkazu pip.
Příkaz pip je malý program (náhrada skriptu easy_install) pro instalaci a správu indexu softwarových balíků Pythonu.
Na distribucích založených na RHEL
V distribucích RHEL musíte nejprve nainstalovat balíček pip (tj. python-pip), abyste mohli nainstalovat PSSH program pomocí yum nebo dnf.
yum install python-pip
OR
dnf install python-pip
Jakmile nainstalujete nástroj pip, můžete nainstalovat balíček pssh pomocí příkazu pip, jak je znázorněno níže.
pip install pssh
O distribucích založených na Debianu
V distribucích založených na Debianu trvá instalace pssh pomocí příkazu pip minutu.
sudo apt install python-pip
sudo pip install pssh
Jak mohu používat pssh v Linuxu?
Při použití pssh musíte vytvořit soubor hostitele s počtem hostitelů spolu s IP adresou a číslem portu, které potřebujete pro připojení ke vzdáleným systémům pomocí pssh.
Řádky v hostitelském souboru jsou v následujícím tvaru a mohou také obsahovat prázdné řádky a komentáře.
192.168.0.10:22
192.168.0.11:22
Spusťte jeden příkaz na více serverech Linux
Spuštěním příkazu pssh můžete spustit libovolný jednotlivý příkaz na různých nebo více hostitelích Linuxu v síti. S pssh lze použít mnoho možností, jak je popsáno níže:
Podíváme se na několik způsobů provádění příkazů na řadě hostitelů pomocí pssh s různými možnostmi.
- Chcete-li číst soubor hostitele, použijte volbu
-h název_souboru_hostitele
nebo--hosts název_souboru_hostitele
. - Chcete-li zahrnout výchozí uživatelské jméno na všech hostitelích, které nedefinují konkrétního uživatele, použijte volbu
-l
uživatelské jméno nebo--user uživatelské jméno
. - Můžete také zobrazit standardní výstup a standardní chybu při dokončení každého hostitele. Pomocí volby
-i
nebo--inline
. - Možná budete chtít, aby spojení vypršelo po zadaném počtu sekund pomocí volby
-t počet_sekund
. - Chcete-li uložit standardní výstup do daného adresáře, můžete použít volbu
-o /adresář/cesta
. - Chcete-li požádat o heslo a odeslat ho na SSH, použijte volbu
-A
.
Podívejme se na několik příkladů a použití příkazů pssh:
Spusťte příkazy na více hostitelích Linuxu
1. Chcete-li provést příkaz echo „Hello TecMint“ na terminálu více hostitelů Linuxu uživatelem root a požádat o heslo uživatele root, spusťte tento příkaz níže.
Důležité: Pamatujte, že v souboru hostitele musí být zahrnuti všichni hostitelé.
pssh -h pssh-hosts -l root -A echo "Hello TecMint"
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password:
[1] 15:54:55 [SUCCESS] 192.168.0.10:22
[2] 15:54:56 [SUCCESS] 192.168.0.11:22
Poznámka: Ve výše uvedeném příkazu je „pssh-hosts“ soubor se seznamem IP adresy vzdáleného linuxového serveru a číslem portu SSH že chcete provádět příkazy.
Najděte využití disku více hostitelů Linuxu
2. Chcete-li zjistit využití místa na disku na více serverech Linux ve vaší síti, můžete spustit jeden příkaz následujícím způsobem.
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.168.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.168.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
Najděte dostupnost více hostitelů Linuxu
3. Pokud chcete znát dobu provozu více serverů Linux najednou, můžete spustit následující příkaz.
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.168.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.168.0.11:22
06:39:03 up 1:00, 2 users, load average: 0.00, 0.06, 0.09
Můžete si prohlédnout stránku ručního zadávání příkazu pssh, kde získáte mnoho dalších možností, jak zjistit další způsoby použití pssh.
pssh --help
souhrn
Paralelní SSH nebo PSSH je dobrý nástroj pro spouštění příkazů v prostředí, kde Správce systému musí pracovat s mnoha servery v síti . Usnadní to provádění příkazů na dálku na různých hostitelích v síti.
Doufám, že vám tato příručka bude užitečná a v případě jakýchkoli dalších informací o pssh nebo chybách při instalaci nebo používání, neváhejte napsat komentář.