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:

  1. pssh - programm ssh paralleelseks käitamiseks mitmes kaughostis.
  2. pscp - programm failide kopeerimiseks paralleelselt mitmete hostidega.
    1. Pscp - kahe või enama Linuxi kaugserveri failide kopeerimine/edastamine

    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.

    1. Hostifaili lugemiseks lisage valik -h host_file-name või –hosts host_file_name.
    2. Vaikimisi kasutajanime lisamiseks kõigile hostidele, mis ei määra konkreetset kasutajat, kasutage suvandit -l kasutajanimi või –kasutaja kasutajanimi.
    3. Iga hosti lõpuleviimisel saate kuvada ka standardväljundi ja standardvea. Kasutades -i või –liini valikut.
    4. Võimalik, et ühendused aeguvad pärast antud sekundite arvu, lisades valiku -t number_of_seconds.
    5. Standardväljundi salvestamiseks antud kataloogi saate kasutada -o/kataloogi/tee valikut.
    6. Parooli küsimiseks ja ssh-i saatmiseks kasutage valikut -A.

    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.