Pssh - izpildiet komandas vairākos attālos Linux serveros, izmantojot vienu termināli
Nav šaubu, ka OpenSSH ir viens no visplašāk izmantotajiem un jaudīgākajiem Linux pieejamajiem rīkiem, kas ļauj droši izveidot savienojumu ar attālajām Linux sistēmām, izmantojot čaulu, un ļauj droši pārsūtīt failus uz attālajām sistēmām un no tām.
Bet lielākie OpenSSH trūkumi ir tādi, ka jūs nevarat izpildīt vienu komandu vairākiem resursdatoriem vienā piegājienā, un OpenSSH nav izstrādāts šādu uzdevumu veikšanai. Šeit ir noderīgs Parallel SSH vai PSSH rīks, tas ir uz pitona balstīta lietojumprogramma, kas ļauj vienlaikus izpildīt komandas vairākiem resursdatoriem paralēli.
Nepalaidiet garām: Izpildiet komandas vairākos Linux serveros, izmantojot DSH rīku
PSSH rīks ietver paralēlas OpenSSH versijas un saistītos rīkus, piemēram:
- pssh - programma ssh paralēlai darbībai vairākos attālajos resursdatoros.
- pscp - programma failu kopēšanai paralēli vairākiem resursdatoriem.
- Pscp - failu kopēšana/pārsūtīšana vismaz divus attālinātos Linux serveros
- Lai lasītu resursdatora failu, iekļaujiet opciju -h host_file-name vai –hosts host_file_name.
- Lai visiem resursdatoriem, kas nenosaka konkrētu lietotāju, iekļautu noklusējuma lietotājvārdu, izmantojiet opciju -l lietotājvārds vai –lietotāja lietotājvārds.
- Katra resursdatora pabeigšanas laikā varat parādīt arī standarta izvadi un standarta kļūdas. Izmantojot opciju -i vai –instrumentu.
- Varat izveidot savienojumu noildzi pēc norādītā sekunžu skaita, iekļaujot opciju -t_sekundes_sekundes.
- Lai saglabātu standarta izvadi noteiktā direktorijā, varat izmantot opciju -o/directory/path.
- Lai pieprasītu paroli un nosūtītu uz ssh, izmantojiet opciju -A.
Šie rīki ir noderīgi sistēmu administratoriem, kuri strādā tīklā ar lielām mezglu kolekcijām.
Linux instalējiet PSSH vai Parallel SSH
Šajā rokasgrāmatā mēs apskatīsim soļus, lai instalētu jaunāko PSSH (t.i. versiju 2.3.1) programmu Fedora balstītajos izplatījumos, piemēram, CentOS/RedHat un Debian atvasinājumos, piemēram, Ubuntu/Mint, izmantojot komandu pip.
Komanda pip ir neliela programma (skripta easy_install nomaiņa), lai instalētu un pārvaldītu Python programmatūras pakotņu indeksu.
CentOS/RHEL izplatījumos vispirms savā sistēmā jāinstalē pakotne pip (t.i., python-pip), lai instalētu programmu PSSH.
# yum install python-pip
Vietnē Fedora 21+ jums jāpalaiž komanda dnf yum (dnf aizstāja yum).
# dnf install python-pip
Kad esat instalējis pip rīku, jūs varat instalēt paketi pssh ar komandu pip, kā parādīts.
# 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
Debian balstītajos izplatījumos pssh instalēšana, izmantojot komandu pip, prasa minūti.
$ 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...
Kā redzat no iepriekš minētās izejas, sistēmā jau ir instalēta jaunākā pssh versija.
Kā es varu izmantot pssh?
Lietojot pssh, jums jāizveido resursdatora fails ar resursdatoru skaitu, kā arī IP adresi un porta numuru, kas jāpievieno attālajām sistēmām, izmantojot pssh.
Resursdatora faila rindas ir šādā formā, un tajās var būt arī tukšas rindas un komentāri.
192.168.0.10:22 192.168.0.11:22
Jūs varat izpildīt jebkuru atsevišķu komandu dažādos vai vairākos Linux resursdatoros tīklā, izpildot komandu pssh. Ir daudz iespēju, ko izmantot ar pssh, kā aprakstīts zemāk:
Mēs izskatīsim dažus veidus, kā izpildīt komandas vairākos resursdatoros, izmantojot pssh ar dažādām iespējām.
Apskatīsim dažus pssh komandu piemērus un lietojumu:
1. Lai izpildītu atbalss “Hello TecMint” vairāku Linux resursdatoru terminālī, izmantojot root lietotāju un pieprasītu root lietotāja paroli, izpildiet šo komandu zemāk.
Svarīgi: atcerieties, ka visi resursdatori ir jāiekļauj resursdatora failā.
# 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
Piezīme: Iepriekšminētajā komandā “pssh-hosts” ir fails ar attālo Linux serveru IP adresi un SSH porta numuru, kuru vēlaties izpildīt.
2. Lai uzzinātu diska vietas izmantošanu vairākos Linux serveros tīklā, varat izpildīt vienu komandu šādi.
# 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. Ja vēlaties vienā reizē uzzināt vairāku Linux serveru darbības laiku, varat izpildīt šādu komandu.
# 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
Jūs varat apskatīt manuālās ievades lapu pssh komandai, lai iegūtu daudzas citas iespējas, lai uzzinātu vairāk pssh izmantošanas veidu.
# pssh --help
Kopsavilkums
Paralēlais SSH vai PSSH ir labs rīks, ko izmantot komandu izpildei vidē, kur sistēmas administratoram ir jāstrādā ar daudziem tīkla serveriem. Tas atvieglos komandu izpildi attālināti dažādos tīkla resursdatoros.
Ceru, ka jūs atradīsit šo rokasgrāmatu noderīgu un izmantosiet papildu informāciju par pssh vai kļūdām, instalējot vai lietojot to, nekautrējieties ievietot komentāru.