Pssh - Kommandoen ausféieren op Multiple Remote Linux Serveren mat engem eenzegen Terminal
Keen Zweifel, datt OpenSSH ee vun de meescht benotzten a mächtegsten Tools fir Linux ass, dat Iech erlaabt Iech sécher mat Remote Linux Systemer iwwer eng Shell ze verbannen an Iech erlaabt Dateien sécher an a vu Remote Systemer ze transferéieren.
Awer déi gréissten Nodeeler vun OpenSSH ass datt Dir net deeselwechte Kommando op verschidde Hosten op enger Kéier kann ausféieren an OpenSSH ass net entwéckelt fir sou Aufgaben auszeféieren. Dëst ass wou Parallel SSH oder PSSH Tool praktesch kënnt, ass eng Python baséiert Applikatioun, déi Iech erlaabt Kommandoen op verschidde Hosten parallel zur selwechter Zäit auszeféieren.
Verpasst net: Kommandoen ausféieren op Multiple Linux Server mat DSH Tool
PSSH Tool enthält parallel Versioune vun OpenSSH a verwandte Tools wéi:
- pssh - ass e Programm fir ssh parallel op e puer Remote Hosten ze lafen.
- pscp - ass e Programm fir Dateien parallel zu enger Zuel vun Hosten ze kopéieren.
- Pscp - Kopie/Transfer Dateien Zwee oder méi Remote Linux Server
- Fir d'Hostdatei ze liesen, enthält d'Optioun -h host_file-name oder -hosts host_file_name.
- Fir e Standard Benotzernumm op all Hosten opzehuelen, déi net e spezifesche Benotzer definéieren, benotzt d'Optioun -l Benotzernumm oder -user Benotzernumm.
- Dir kënnt och Standardausgang a Standardfehler weisen wéi all Host fäerdeg ass. Mat der -i oder -inline Optioun.
- Dir wëllt vläicht d'Verbindungszäit no der bestëmmter Zuel vu Sekonnen maachen andeems Dir d'Optioun -t number_of_seconds enthält.
- Fir Standardausgab an e bestëmmte Verzeichnis ze späicheren, kënnt Dir d'Optioun -o /Verzeichnis/Wee benotzen.
- Fir e Passwuert ze froen an op ssh ze schécken, benotzt d'Optioun -A.
Dës Tools si gutt fir Systemadministratoren, déi sech mat grousse Sammlunge vun Noden op engem Netz schaffen.
Installéiert PSSH oder Parallel SSH op Linux
An dësem Guide wäerte mir Schrëtt kucken fir déi lescht Versioun vum PSSH (dh Versioun 2.3.1) Programm op Fedora baséiert Verdeelungen wéi CentOS/RedHat an Debian Derivate wéi Ubuntu/Mint mat Pip Kommando z'installéieren.
De pip Kommando ass e klenge Programm (Ersatz vum easy_install Skript) fir den Python Software Package Index z'installéieren an ze managen.
Op CentOS/RHEL Verdeelungen musst Dir als éischt Pip (dh Python-Pip) Package ënner Ärem System installéieren, fir PSSH Programm z'installéieren.
# yum install python-pip
Op Fedora 21+ musst Dir dnf Kommando ausféieren amplaz yum (dnf ersat yum).
# dnf install python-pip
Wann Dir Pip Tool installéiert hutt, kënnt Dir de pssh Package mat der Hëllef vum Pip Kommando installéieren wéi gewisen.
# pip install pssh
/usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning You are using pip version 7.1.0, however version 7.1.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command. Collecting pssh /usr/lib/python2.6/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. InsecurePlatformWarning Downloading pssh-2.3.1.tar.gz Installing collected packages: pssh Running setup.py install for pssh Successfully installed pssh-2.3.1
Op Debian baséiert Verdeelungen dauert et eng Minutt fir pssh mat Pip Kommando z'installéieren.
$ sudo apt-get install python-pip $ sudo pip install pssh
Downloading/unpacking pssh Downloading pssh-2.3.1.tar.gz Running setup.py (path:/tmp/pip_build_root/pssh/setup.py) egg_info for package pssh Installing collected packages: pssh Running setup.py install for pssh changing mode of build/scripts-2.7/pssh from 644 to 755 changing mode of build/scripts-2.7/pnuke from 644 to 755 changing mode of build/scripts-2.7/prsync from 644 to 755 changing mode of build/scripts-2.7/pslurp from 644 to 755 changing mode of build/scripts-2.7/pscp from 644 to 755 changing mode of build/scripts-2.7/pssh-askpass from 644 to 755 changing mode of /usr/local/bin/pscp to 755 changing mode of /usr/local/bin/pssh-askpass to 755 changing mode of /usr/local/bin/pssh to 755 changing mode of /usr/local/bin/prsync to 755 changing mode of /usr/local/bin/pnuke to 755 changing mode of /usr/local/bin/pslurp to 755 Successfully installed pssh Cleaning up...
Wéi Dir aus der Ausgab hei uewen kënnt gesinn, ass déi lescht Versioun vu pssh schonn um System installéiert.
Wéi benotzen ech pssh?
Wann Dir pssh benotzt, musst Dir eng Hostdatei erstellen mat der Unzuel vun de Hosten zesumme mat der IP Adress an der Portnummer déi Dir braucht fir mat Fernsystemer mat pssh ze verbannen.
D'Linnen an der Hostdatei sinn an der folgender Form a kënnen och eidel Linnen a Kommentaren enthalen.
192.168.0.10:22 192.168.0.11:22
Dir kënnt all eenzel Kommando op verschiddene oder multiple Linux Hosten op engem Netzwierk ausféieren andeems Dir e pssh Kommando ausféiert. Et gi vill Optiounen fir mat pssh ze benotzen wéi hei ënnen beschriwwen:
Mir kucken op e puer Weeër fir Kommandoen op enger Zuel vu Hosten auszeféieren mat pssh mat verschiddenen Optiounen.
Loosst eis e puer Beispiller a Gebrauch vu pssh Kommandoen gesinn:
1. Fir Echo auszeféieren Hallo TecMint um Terminal vun de multiple Linux Hosten vum Root Benotzer a fir de Root Benotzer Passwuert ze froen, fuert dëse Kommando hei ënnen.
Wichteg: Denkt drun datt all Hosten an der Hostdatei abegraff sinn.
# 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
Bemierkung: Am uewe genannte Kommando pssh-hosts ass eng Datei mat der Lëscht vun de Fern Linux Server IP Adress an SSH Portnummer déi Dir Kommandoen ausféiere wëllt.
2. Fir erauszefannen, wéi d'Disk Space Notzung op verschidde Linux Serveren op Ärem Netz ass, kënnt Dir en eenzege Kommando ausféieren wéi follegt.
# 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
3. Wann Dir wëllt d'Uptime vu méi Linux Serveren op ee Wee wëssen, da kënnt Dir de folgende Kommando ausféieren.
# 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
Dir kënnt d'manuell Entrée Säit fir de pssh Kommando kucken fir vill aner Optiounen ze kréien fir méi Weeër ze fannen fir pssh ze benotzen.
# pssh --help
Resumé
Parallel SSH oder PSSH ass e gutt Tool fir ze benotzen fir Kommandoen auszeféieren an engem Ëmfeld wou e System Administrator mat ville Serveren op engem Netzwierk muss schaffen. Et wäert et einfach maachen fir Kommandoen op afstand op verschiddene Hosten op engem Netzwierk auszeféieren.
Hoffen Dir fannt dëse Guide nëtzlech an am Fall vun zousätzlech Informatioun iwwer pssh oder Feeler beim Installéieren oder benotzen, fille sech gratis e Kommentar ze posten.