Pssh - Kommandoen ausféieren op Multiple Remote Linux Serveren mat engem eenzegen Terminal


Keen Zweifel, datt OpenSSH ee vun de meescht benotzten a mächtegsten Tools fir Linux ass, dat Iech erlaabt Iech sécher mat Remote Linux Systemer iwwer eng Shell ze verbannen an Iech erlaabt Dateien sécher an a vu Remote Systemer ze transferéieren.

Awer déi gréissten Nodeeler vun OpenSSH ass datt Dir net deeselwechte Kommando op verschidde Hosten op enger Kéier kann ausféieren an OpenSSH ass net entwéckelt fir sou Aufgaben auszeféieren. Dëst ass wou Parallel SSH oder PSSH Tool praktesch kënnt, ass eng Python baséiert Applikatioun, déi Iech erlaabt Kommandoen op verschidde Hosten parallel zur selwechter Zäit auszeféieren.

Verpasst net: Kommandoen ausféieren op Multiple Linux Server mat DSH Tool

PSSH Tool enthält parallel Versioune vun OpenSSH a verwandte Tools wéi:

  1. pssh - ass e Programm fir ssh parallel op e puer Remote Hosten ze lafen.
  2. pscp - ass e Programm fir Dateien parallel zu enger Zuel vun Hosten ze kopéieren.
    1. Pscp - Kopie/Transfer Dateien Zwee oder méi Remote Linux Server

    Dës Tools si gutt fir Systemadministratoren, déi sech mat grousse Sammlunge vun Noden op engem Netz schaffen.

    Installéiert PSSH oder Parallel SSH op Linux

    An dësem Guide wäerte mir Schrëtt kucken fir déi lescht Versioun vum PSSH (dh Versioun 2.3.1) Programm op Fedora baséiert Verdeelungen wéi CentOS/RedHat an Debian Derivate wéi Ubuntu/Mint mat Pip Kommando z'installéieren.

    De pip Kommando ass e klenge Programm (Ersatz vum easy_install Skript) fir den Python Software Package Index z'installéieren an ze managen.

    Op CentOS/RHEL Verdeelungen musst Dir als éischt Pip (dh Python-Pip) Package ënner Ärem System installéieren, fir PSSH Programm z'installéieren.

    # yum install python-pip
    

    Op Fedora 21+ musst Dir dnf Kommando ausféieren amplaz yum (dnf ersat yum).

    # dnf install python-pip
    

    Wann Dir Pip Tool installéiert hutt, kënnt Dir de pssh Package mat der Hëllef vum Pip Kommando installéieren wéi gewisen.

    # 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
    

    Op Debian baséiert Verdeelungen dauert et eng Minutt fir pssh mat Pip Kommando z'installéieren.

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

    Wéi Dir aus der Ausgab hei uewen kënnt gesinn, ass déi lescht Versioun vu pssh schonn um System installéiert.

    Wéi benotzen ech pssh?

    Wann Dir pssh benotzt, musst Dir eng Hostdatei erstellen mat der Unzuel vun de Hosten zesumme mat der IP Adress an der Portnummer déi Dir braucht fir mat Fernsystemer mat pssh ze verbannen.

    D'Linnen an der Hostdatei sinn an der folgender Form a kënnen och eidel Linnen a Kommentaren enthalen.

    192.168.0.10:22
    192.168.0.11:22
    

    Dir kënnt all eenzel Kommando op verschiddene oder multiple Linux Hosten op engem Netzwierk ausféieren andeems Dir e pssh Kommando ausféiert. Et gi vill Optiounen fir mat pssh ze benotzen wéi hei ënnen beschriwwen:

    Mir kucken op e puer Weeër fir Kommandoen op enger Zuel vu Hosten auszeféieren mat pssh mat verschiddenen Optiounen.

    1. Fir d'Hostdatei ze liesen, enthält d'Optioun -h host_file-name oder -hosts host_file_name.
    2. Fir e Standard Benotzernumm op all Hosten opzehuelen, déi net e spezifesche Benotzer definéieren, benotzt d'Optioun -l Benotzernumm oder -user Benotzernumm.
    3. Dir kënnt och Standardausgang a Standardfehler weisen wéi all Host fäerdeg ass. Mat der -i oder -inline Optioun.
    4. Dir wëllt vläicht d'Verbindungszäit no der bestëmmter Zuel vu Sekonnen maachen andeems Dir d'Optioun -t number_of_seconds enthält.
    5. Fir Standardausgab an e bestëmmte Verzeichnis ze späicheren, kënnt Dir d'Optioun -o /Verzeichnis/Wee benotzen.
    6. Fir e Passwuert ze froen an op ssh ze schécken, benotzt d'Optioun -A.

    Loosst eis e puer Beispiller a Gebrauch vu pssh Kommandoen gesinn:

    1. Fir Echo auszeféieren Hallo TecMint um Terminal vun de multiple Linux Hosten vum Root Benotzer a fir de Root Benotzer Passwuert ze froen, fuert dëse Kommando hei ënnen.

    Wichteg: Denkt drun datt all Hosten an der Hostdatei abegraff sinn.

    # 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
    

    Bemierkung: Am uewe genannte Kommando pssh-hosts ass eng Datei mat der Lëscht vun de Fern Linux Server IP Adress an SSH Portnummer déi Dir Kommandoen ausféiere wëllt.

    2. Fir erauszefannen, wéi d'Disk Space Notzung op verschidde Linux Serveren op Ärem Netz ass, kënnt Dir en eenzege Kommando ausféieren wéi follegt.

    # 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. Wann Dir wëllt d'Uptime vu méi Linux Serveren op ee Wee wëssen, da kënnt Dir de folgende Kommando ausféieren.

    # 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
    

    Dir kënnt d'manuell Entrée Säit fir de pssh Kommando kucken fir vill aner Optiounen ze kréien fir méi Weeër ze fannen fir pssh ze benotzen.

    # pssh --help
    

    Resumé

    Parallel SSH oder PSSH ass e gutt Tool fir ze benotzen fir Kommandoen auszeféieren an engem Ëmfeld wou e System Administrator mat ville Serveren op engem Netzwierk muss schaffen. Et wäert et einfach maachen fir Kommandoen op afstand op verschiddene Hosten op engem Netzwierk auszeféieren.

    Hoffen Dir fannt dëse Guide nëtzlech an am Fall vun zousätzlech Informatioun iwwer pssh oder Feeler beim Installéieren oder benotzen, fille sech gratis e Kommentar ze posten.