sshpass: Interaktiw däl SSH giriş üçin ajaýyp gural - Hiç haçan önümçilik serwerinde ulanmaň
Köplenç Linux ulgam dolandyryjylary parol, ýa-da parolsyz SSH giriş ýa-da açar esasly SSH tassyklamasy bilen SSH ulanyp, uzakdaky Linux serwerlerine girýärler.
SSH islegine ulanyjy ady bilen bilelikde parol bermek isleseňiz näme etmeli? şu ýerde sshpass kömek edýär.
sshpass, buýruk buýrugynyň özüne paroly (interaktiw däl paroly tassyklamak) bermäge mümkinçilik berýän ýönekeý we ýeňil buýruk setir guralydyr, şonuň üçin kron meýilleşdirijisiniň ätiýaçlyk nusgalaryny almak üçin awtomatiki gabyk skriptleri ýerine ýetirilip bilner.
ssh parolyň interaktiw klawiatura ulanyjysy tarapyndan üpjün edilendigine göz ýetirmek üçin göni TTY girişini ulanýar. Sshpass ssh-i wepaly görnüşde işleýär, interaktiw ulanyjydan paroly alýandygyna ynanmak üçin ýalňyşýar.
Üns beriň: Iň ygtybarly hasaplanýan sshpass-dan peýdalanmak, ýönekeý “ps” buýrugy bilen buýruk setirindäki ähli ulgam ulanyjylaryna paroly açýar. SSH paroly ýok tanamaklygy ulanmagy maslahat berýärin.
Linux ulgamlaryna sshpass guruň
RedHat/CentOS esasly ulgamlarda ilki görkezilişi ýaly ýum buýrugy etmeli.
# yum install sshpass # dnf install sshpass [On Fedora 22+ versions]
Debian/Ubuntu we olardan emele gelenlerde, görkezilişi ýaly apt-get buýrugy ulanyp gurup bilersiňiz.
$ sudo apt-get install sshpass
Ativea-da bolmasa, sshpass-iň iň soňky wersiýasyna eýe bolmak üçin çeşmeden gurnap, ilki deslapky kody göçürip alyp, soňra faýlyň mazmunyny çykaryp, şeýle gurup bilersiňiz:
$ wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz $ tar -xvf sshpass.tar.gz $ cd sshpass-1.06 $ ./configure # sudo make install
Linux-da sshpass-y nädip ulanmaly
sshpass ssh bilen bilelikde ulanylýar, aşakdaky buýrugy bermek bilen sshpass ulanyş opsiýalarynyň hemmesini doly düşündirişler bilen görüp bilersiňiz:
$ sshpass -h
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters -f filename Take password to use from file -d number Use number as file descriptor for getting password -p password Provide password as argument (security unwise) -e Password is passed as env-var "SSHPASS" With no parameters - password will be taken from stdin -h Show help (this screen) -V Print version information At most one of -f, -d, -p or -e should be used
Öň hem belläp geçişim ýaly, sshpass skript maksatlary üçin has ygtybarly we peýdaly, aşakdaky mysal buýruklaryna serediň.
Ulanyjy ady we paroly bilen uzakdaky Linux ssh serwerine (10.42.0.1) giriň we görkezilişi ýaly uzakdaky ulgamyň faýl ulgamynyň disk ulanylyşyny barlaň.
$ sshpass -p 'my_pass_here' ssh [email 'df -h'
Üns beriň: Bu ýerde parol buýruk setirinde üpjün edilýär, iş ýüzünde ygtybarly däl we bu opsiýany ulanmak maslahat berilmeýär.
Şeýle-de bolsa, ekranda parol görkezilmeginiň öňüni almak üçin, -e
baýdagyny ulanyp, paroly aşakdaky ýaly SSHPASS gurşaw üýtgeýjisiniň bahasy hökmünde girizip bilersiňiz:
$ export SSHPASS='my_pass_here' $ echo $SSHPASS $ sshpass -e ssh [email 'df -h'
Bellik: aboveokardaky mysalda SSHPASS gurşaw üýtgeýjisi diňe wagtlaýyn maksatly bolup, gaýtadan açylanda aýrylar.
SSHPASS gurşaw üýtgeýjisini hemişelik düzmek üçin/etc/profil faýlyny açyň we faýlyň başynda eksport beýanyny ýazyň:
export SSHPASS='my_pass_here'
Faýly ýazdyryň we çykyň, üýtgeşmeleri ýerine ýetirmek üçin aşakdaky buýrugy işlediň:
$ source /etc/profile
Başga bir tarapdan, -f
baýdagyny hem ulanyp, paroly bir faýla goýup bilersiňiz. Şeýlelik bilen, paroly faýldan aşakdaky ýaly okap bilersiňiz:
$ sshpass -f password_filename ssh [email 'df -h'
Şeýle hem SSH ulanyp, rsync-dan faýllary ätiýaçlyk/sinhronlamak üçin sshpass ulanyp bilersiňiz:
------- Transfer Files Using SCP ------- $ scp -r /var/www/html/example.com --rsh="sshpass -p 'my_pass_here' ssh -l aaronkilik" 10.42.0.1:/var/www/html ------- Backup or Sync Files Using Rsync ------- $ rsync --rsh="sshpass -p 'my_pass_here' ssh -l aaronkilik" 10.42.0.1:/data/backup/ /backup/
Has giňişleýin ulanmak üçin sshpass adam sahypasyny okamagyňyzy maslahat berýärin:
$ man sshpass
Bu makalada sshpass-yň interaktiw däl paroly tassyklamaga mümkinçilik berýän ýönekeý guralyny düşündirdik. Bu gurallar peýdaly bolup bilse-de, ssh-iň has ygtybarly açar tanamak mehanizmini ulanmak maslahat berilýär.
Has giňişleýin pikir alyşmak üçin aşakdaky jogap bölüminiň üsti bilen sorag ýa-da teswir ýazmagyňyzy haýyş edýäris.