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:
- pssh - ni programu ya kuendesha ssh sambamba kwenye seva pangishi nyingi za mbali.
- pscp - ni programu ya kunakili faili sambamba na idadi ya wapangishi.
- Pscp - Nakili/Hamisha Faili Mbili au Zaidi za Seva za Mbali za Linux
- Ili kusoma faili ya wapangishi, jumuisha -h host_file-name au -hosts host_file_name chaguo.
- Ili kujumuisha jina la mtumiaji chaguo-msingi kwenye seva pangishi zote ambazo hazifafanui mtumiaji maalum, tumia -l jina la mtumiaji au chaguo la -mtumiaji.
- Unaweza pia kuonyesha pato la kawaida na hitilafu ya kawaida kila mpangishi anapokamilisha. Kwa kutumia chaguo la -i au –inline.
- Unaweza kutaka kufanya miunganisho kuisha baada ya idadi fulani ya sekunde kwa kujumuisha chaguo la -t number_of_seconds.
- Ili kuhifadhi pato la kawaida kwenye saraka fulani, unaweza kutumia -o /directory/path chaguo.
- Kuuliza nenosiri na kutuma kwa ssh, tumia chaguo la -A.
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.
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.