Pssh - Tekeleza Maagizo kwenye Seva Nyingi za Linux za Mbali kwa Kutumia Kituo Kimoja


Bila shaka, kwamba OpenSSH ni mojawapo ya zana inayotumika sana na yenye nguvu inayopatikana kwa ajili ya Linux, ambayo hukuruhusu kuunganisha kwa usalama kwenye mifumo ya mbali ya Linux kupitia shell na hukuruhusu kuhamisha faili kwa usalama kwenda na kutoka kwa mifumo ya mbali.

Lakini ubaya mkubwa wa OpenSSH ni kwamba, huwezi kutekeleza amri sawa kwa majeshi mengi kwa wakati mmoja na OpenSSH haijatengenezwa kufanya kazi kama hizo. Hapa ndipo zana ya Sambamba ya SSH au PSSH inakuja kwa manufaa, ni programu ya msingi ya python, ambayo inakuwezesha kutekeleza amri kwa majeshi mengi kwa wakati mmoja.

Usikose: Tekeleza Amri kwenye Seva Nyingi za Linux Kwa Kutumia Zana ya DSH

Zana ya PSSH inajumuisha matoleo sambamba ya OpenSSH na zana zinazohusiana kama vile:

  1. pssh - ni programu ya kuendesha ssh sambamba kwenye seva pangishi nyingi za mbali.
  2. pscp - ni programu ya kunakili faili sambamba na idadi ya wapangishi.
    1. Pscp - Nakili/Hamisha Faili Mbili au Zaidi za Seva za Mbali za Linux

    Zana hizi ni nzuri kwa Wasimamizi wa Mfumo ambao wanajikuta wakifanya kazi na makusanyo makubwa ya nodi kwenye mtandao.

    Sakinisha PSSH au Sambamba SSH kwenye Linux

    Katika mwongozo huu, tutaangalia hatua za kusakinisha toleo la hivi punde zaidi la programu ya PSSH (yaani toleo la 2.3.1) kwenye usambazaji unaotegemea Fedora kama vile CentOS/RedHat na derivatives za Debian kama vile Ubuntu/Mint kwa kutumia pip command.

    Amri ya bomba ni programu ndogo (badala ya hati rahisi_ya kusakinisha) ya kusakinisha na kudhibiti faharisi ya vifurushi vya programu ya Python.

    Kwenye usambazaji wa CentOS/RHEL, unahitaji kwanza kusakinisha kifurushi cha bomba (yaani python-pip) chini ya mfumo wako, ili kusakinisha programu ya PSSH.

    # yum install python-pip
    

    Kwenye Fedora 21+, unahitaji kuendesha dnf amri badala yake yum (dnf ilibadilishwa yum).

    # dnf install python-pip
    

    Mara tu ukisakinisha zana ya bomba, unaweza kusakinisha kifurushi cha pssh kwa usaidizi wa amri ya bomba kama inavyoonyeshwa.

    # 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
    

    Kwenye usambazaji wa msingi wa Debian inachukua dakika kusakinisha pssh kwa kutumia pip amri.

    $ 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...
    

    Kama unaweza kuona kutoka kwa matokeo hapo juu, toleo la hivi karibuni la pssh tayari limesakinishwa kwenye mfumo.

    Jinsi ya kutumia pssh?

    Unapotumia pssh unahitaji kuunda faili ya mwenyeji na idadi ya majeshi pamoja na anwani ya IP na nambari ya bandari ambayo unahitaji kuunganisha kwenye mifumo ya mbali kwa kutumia pssh.

    Mistari katika faili ya seva pangishi iko katika fomu ifuatayo na inaweza pia kujumuisha mistari na maoni tupu.

    192.168.0.10:22
    192.168.0.11:22
    

    Unaweza kutekeleza amri yoyote moja kwenye seva pangishi tofauti au nyingi za Linux kwenye mtandao kwa kuendesha amri ya pssh. Kuna chaguzi nyingi za kutumia na pssh kama ilivyoelezewa hapa chini:

    Tutaangalia njia chache za kutekeleza amri kwenye idadi ya majeshi kwa kutumia pssh na chaguo tofauti.

    1. Ili kusoma faili ya wapangishi, jumuisha -h host_file-name au -hosts host_file_name chaguo.
    2. Ili kujumuisha jina la mtumiaji chaguo-msingi kwenye seva pangishi zote ambazo hazifafanui mtumiaji maalum, tumia -l jina la mtumiaji au chaguo la -mtumiaji.
    3. Unaweza pia kuonyesha pato la kawaida na hitilafu ya kawaida kila mpangishi anapokamilisha. Kwa kutumia chaguo la -i au –inline.
    4. Unaweza kutaka kufanya miunganisho kuisha baada ya idadi fulani ya sekunde kwa kujumuisha chaguo la -t number_of_seconds.
    5. Ili kuhifadhi pato la kawaida kwenye saraka fulani, unaweza kutumia -o /directory/path chaguo.
    6. Kuuliza nenosiri na kutuma kwa ssh, tumia chaguo la -A.

    Wacha tuone mifano michache na matumizi ya amri za pssh:

    1. Ili kutekeleza mwangwi \Hujambo TecMint kwenye terminal ya seva pangishi nyingi za Linux na mtumiaji wa mizizi na kuuliza nenosiri la mtumiaji mzizi, endesha amri hii hapa chini.

    Muhimu: Kumbuka wapangishi wote lazima wajumuishwe kwenye faili ya mwenyeji.

    # 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
    

    Kumbuka: Katika amri iliyo hapo juu pssh-hosts kuna faili iliyo na orodha ya anwani za IP za seva za mbali za Linux na nambari ya mlango ya SSH ambayo ungependa kutekeleza amri.

    2. Ili kujua matumizi ya nafasi ya diski kwenye seva nyingi za Linux kwenye mtandao wako, unaweza kutekeleza amri moja kama ifuatavyo.

    # 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. Ikiwa ungependa kujua muda wa nyongeza wa seva nyingi za Linux kwa wakati mmoja, basi unaweza kutekeleza amri ifuatayo.

    # 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
    

    Unaweza kutazama ukurasa wa ingizo wa mwongozo kwa amri ya pssh kupata chaguzi zingine nyingi ili kujua njia zaidi za kutumia pssh.

    # pssh --help
    

    Muhtasari

    Sambamba SSH au PSSH ni zana nzuri ya kutumia kwa ajili ya kutekeleza amri katika mazingira ambapo Msimamizi wa Mfumo anapaswa kufanya kazi na seva nyingi kwenye mtandao. Itafanya iwe rahisi kwa amri kutekelezwa kwa mbali kwenye seva pangishi tofauti kwenye mtandao.

    Tunatumahi utapata mwongozo huu kuwa muhimu na ikiwa kuna habari yoyote ya ziada kuhusu pssh au makosa wakati wa kuisakinisha au kuitumia, jisikie huru kuchapisha maoni.