Pssh - käskude täitmine mitmel Linuxi kaugserveril ühe terminali abil
Pole kahtlust, et OpenSSH on üks levinumaid ja võimsamaid Linuxi jaoks saadaval olevaid tööriistu, mis võimaldab teil turvaliselt ühenduda Linuxi kaugsüsteemidega kesta kaudu ja võimaldab faile turvaliselt kaugsüsteemidesse ja kaugsüsteemist üle kanda.
Kuid OpenSSH suurim puudus on see, et te ei saa sama käsku korraga mitme hosti peal täita ja OpenSSH pole selliste ülesannete täitmiseks välja töötatud. See on koht, kus Parallel SSH või PSSH tööriist on mugav, see on python-põhine rakendus, mis võimaldab teil käske täita korraga mitmel hostil paralleelselt.
Ära jäta: DSH-tööriista abil saate käske käivitada mitmes Linuxi serveris
PSSH-i tööriist sisaldab OpenSSH-i ja sellega seotud tööriistade paralleelseid versioone:
- pssh - programm ssh paralleelseks käitamiseks mitmes kaughostis.
- pscp - programm failide kopeerimiseks paralleelselt mitmete hostidega.
- Pscp - kahe või enama Linuxi kaugserveri failide kopeerimine/edastamine
- Hostifaili lugemiseks lisage valik -h host_file-name või –hosts host_file_name.
- Vaikimisi kasutajanime lisamiseks kõigile hostidele, mis ei määra konkreetset kasutajat, kasutage suvandit -l kasutajanimi või –kasutaja kasutajanimi.
- Iga hosti lõpuleviimisel saate kuvada ka standardväljundi ja standardvea. Kasutades -i või –liini valikut.
- Võimalik, et ühendused aeguvad pärast antud sekundite arvu, lisades valiku -t number_of_seconds.
- Standardväljundi salvestamiseks antud kataloogi saate kasutada -o/kataloogi/tee valikut.
- Parooli küsimiseks ja ssh-i saatmiseks kasutage valikut -A.
Need tööriistad sobivad süsteemiadministraatoritele, kes leiavad, et töötavad võrgus suurte sõlmekogudega.
Installige Linuxile PSSH või Parallel SSH
Selles juhendis vaatleme samme PSSH (st versioon 2.3.1) uusima versiooni installimiseks Fedora-põhistele jaotustele nagu CentOS/RedHat ja Debiani derivaadid, näiteks Ubuntu/Mint, kasutades pip-käsku.
Käsk pip on väike programm (skripti easy_install asendamine) Pythoni tarkvarapakettide registri installimiseks ja haldamiseks.
CentOS/RHEL-distributsioonides peate esmalt oma süsteemi alla installima paketi pip (st python-pip), et installida programm PSSH.
# yum install python-pip
Fedora 21+ peate käivitama käsu dnf yum (dnf asendas yum).
# dnf install python-pip
Kui olete tööriista pip installinud, saate paketi pssh installida käsu pip abil, nagu näidatud.
# 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
Debiani põhistel jaotustel võtab pssh installimine pipi abil minut.
$ 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...
Nagu ülaltoodud väljundist näha, on pssh uusim versioon süsteemi juba installitud.
Kuidas kasutada pssh-d?
Pssh-i kasutamisel peate looma hostifaili hostide arvu, IP-aadressi ja pordinumbriga, mille peate ühendama kaugsüsteemidega pssh-i abil.
Hostfaili read on järgmisel kujul ja võivad sisaldada ka tühje ridu ja kommentaare.
192.168.0.10:22 192.168.0.11:22
Võite käivitada mis tahes ühe käsu võrgu erinevates või mitmes Linuxi hostis, käivitades käsu pssh. Pssh-ga kasutamiseks on palju võimalusi, nagu allpool kirjeldatud:
Vaatame mõningaid viise, kuidas mitmel hostil käske täita, kasutades pssh-d erinevate võimalustega.
Vaatame vähe näiteid ja pssh-käskude kasutamist:
1. Mitme Linuxi hostis terminali kaja\"Tere TecMint" käivitamiseks juurkasutaja poolt ja juurkasutaja parooli küsimiseks käivitage see käsk allpool.
Tähtis: pidage meeles, et kõik hostid peavad olema hostifailis.
# 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
Märkus: ülaltoodud käsus on „pssh-hosts“ fail, kus on loetletud Linuxi kaugserverite IP-aadress ja SSH-pordi number, mida soovite käske täita.
2. Et teada saada oma võrgu mitme Linuxi serveri kettaruumi kasutamist, võite käivitada ühe käsu järgmiselt.
# 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. Kui soovite korraga teada saada mitme Linuxi serveri tööaega, võite käivitada järgmise käsu.
# 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
Saate vaadata käsu pssh käsitsi sisestamise lehte, et saada palju muid võimalusi, et teada saada rohkem võimalusi pssh kasutamiseks.
# pssh --help
Kokkuvõte
Paralleelne SSH või PSSH on hea tööriist käskude täitmiseks keskkonnas, kus süsteemiadministraator peab töötama võrgus paljude serveritega. See hõlbustab käskude hõlpsat täitmist võrgu eri hostides kaugjuhtimisega.
Loodetavasti leiate sellest juhendist kasuliku ja lisateavet pssh-i või vigade kohta selle installimisel või kasutamisel, postitage julgelt kommentaar.