Pssh - Eżegwixxi Kmandi fuq Servers Linux Remoti Multipli bl-Użu ta' Terminal Uniku


Bla dubju, li OpenSSH huwa wieħed mill-aktar għodda użata u qawwija disponibbli għal Linux, li tippermettilek tikkonnettja b'mod sikur ma 'sistemi Linux remoti permezz ta' qoxra u tippermettilek tittrasferixxi fajls b'mod sigur lejn u minn sistemi remoti.

Iżda l-akbar żvantaġġi ta 'OpenSSH huwa li, ma tistax tesegwixxi l-istess kmand fuq hosts multipli f'daqqa u OpenSSH mhux żviluppat biex iwettaq kompiti bħal dawn. Dan huwa fejn l-għodda Parallel SSH jew PSSH tiġi utli, hija applikazzjoni bbażata fuq python, li tippermettilek tesegwixxi kmandi fuq hosts multipli b'mod parallel fl-istess ħin.

Titlifx: Eżegwixxi Kmandi fuq Servers Linux Multipli bl-użu tal-Għodda DSH

L-għodda PSSH tinkludi verżjonijiet paralleli ta’ OpenSSH u għodod relatati bħal:

  1. pssh – huwa programm għat-tħaddim ta' ssh b'mod parallel fuq hosts remoti multipli.
  2. pscp – huwa programm għall-ikkupjar ta' fajls b'mod parallel ma' numru ta' hosts.
    1. Pscp – Ikkopja/Trasferixxi Fajls Żewġ Servers Linux Remoti jew Aktar

    Dawn l-għodod huma tajbin għall-Amministraturi tas-Sistema li jsibu ruħhom jaħdmu ma 'kollezzjonijiet kbar ta' nodi fuq netwerk.

    Installa PSSH jew Parallel SSH fuq Linux

    F'din il-gwida, se nħarsu lejn passi biex ninstallaw l-aħħar verżjoni tal-programm PSSH (jiġifieri verżjoni 2.3.1) fuq distribuzzjonijiet ibbażati fuq Fedora bħal CentOS/RedHat u derivattivi Debian bħal Ubuntu/Mint bl-użu ta 'pip kmand.

    Il-kmand tal-pip huwa programm żgħir (sostituzzjoni tal-iskript easy_install) għall-installazzjoni u l-ġestjoni tal-indiċi tal-pakketti tas-softwer Python.

    Fuq distribuzzjonijiet CentOS/RHEL, l-ewwel trid tinstalla pakkett pip (jiġifieri python-pip) taħt is-sistema tiegħek, sabiex tinstalla l-programm PSSH.

    # yum install python-pip
    

    Fuq Fedora 21+, trid tmexxi kmand dnf minflok yum (dnf mibdul yum).

    # dnf install python-pip
    

    Ladarba tkun installa l-għodda tal-pip, tista 'tinstalla l-pakkett pssh bl-għajnuna tal-kmand tal-pip kif muri.

    # 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
    

    Fuq distribuzzjonijiet ibbażati fuq Debian tieħu minuta biex tinstalla pssh bl-użu tal-kmand pip.

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

    Kif tistgħu taraw mill-output ta 'hawn fuq, l-aħħar verżjoni ta' pssh hija diġà installata fis-sistema.

    Kif nuża pssh?

    Meta tuża pssh għandek bżonn toħloq fajl ospitanti bin-numru ta 'hosts flimkien ma' l-indirizz IP u n-numru tal-port li għandek bżonn tikkonnettja ma 'sistemi remoti bl-użu ta' pssh.

    Il-linji fil-fajl ospitanti huma fil-forma li ġejja u jistgħu jinkludu wkoll linji vojta u kummenti.

    192.168.0.10:22
    192.168.0.11:22
    

    Tista 'tesegwixxi kwalunkwe kmand wieħed fuq hosts Linux differenti jew multipli fuq netwerk billi tħaddem kmand pssh. Hemm ħafna għażliet biex tuża ma pssh kif deskritt hawn taħt:

    Aħna se nħarsu lejn ftit modi ta 'eżekuzzjoni ta' kmandi fuq numru ta 'hosts li jużaw pssh b'għażliet differenti.

    1. Biex taqra l-fajl hosts, inkludi l-għażla -h host_file-name jew –hosts host_file_name.
    2. Biex tinkludi username default fuq l-hosts kollha li ma jiddefinixxux utent speċifiku, uża l-għażla -l username jew –user username.
    3. Tista 'wkoll turi output standard u żball standard hekk kif kull host itemm. Billi tuża l-għażla -i jew –inline.
    4. Int tista' tixtieq tagħmel time out tal-konnessjonijiet wara n-numru mogħti ta' sekondi billi tinkludi l-għażla -t number_of_seconds.
    5. Biex tissejvja output standard f'direttorju partikolari, tista' tuża l-għażla -o /directory/path.
    6. Biex titlob password u tibgħat lil ssh, uża l-għażla -A.

    Ejja naraw ftit eżempji u użu ta 'kmandi pssh:

    1. Biex tesegwixxi eku \Hello TecMint fuq it-terminal tal-hosts multipli tal-Linux mill-utent tal-għeruq u pront għall-password tal-utent tal-għeruq, mexxi dan il-kmand hawn taħt.

    Importanti: Ftakar li l-ospiti kollha għandhom jiġu inklużi fil-fajl ospitanti.

    # 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
    

    Nota: Fil-kmand ta 'hawn fuq pssh-hosts huwa fajl b'lista ta' servers Linux remoti indirizz IP u numru tal-port SSH li tixtieq tesegwixxi kmandi.

    2. Biex issir taf l-użu tal-ispazju tad-diska fuq servers multipli Linux fuq in-netwerk tiegħek, tista 'tmexxi kmand wieħed kif ġej.

    # 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. Jekk tixtieq tkun taf l-uptime ta 'servers Linux multipli f'daqqa, allura tista' tmexxi l-kmand li ġej.

    # 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
    

    Tista' tara l-paġna tad-dħul manwali għall-kmand pssh biex tikseb ħafna għażliet oħra biex issir taf aktar modi kif tuża pssh.

    # pssh --help
    

    Sommarju

    Parallel SSH jew PSSH hija għodda tajba biex tuża biex tesegwixxi kmandi f'ambjent fejn Amministratur tas-Sistema jkollu jaħdem ma 'ħafna servers fuq netwerk. Se jagħmilha faċli għall-kmandi li jiġu esegwiti mill-bogħod fuq hosts differenti fuq netwerk.

    Nittama li ssib din il-gwida utli u f'każ ta' xi informazzjoni addizzjonali dwar pssh jew żbalji waqt l-installazzjoni jew l-użu tagħha, tħossok liberu li tpoġġi kumment.