sshpass: Għodda Eċċellenti għal Login SSH Mhux Interattiv - Qatt Uża fuq Server tal-Produzzjoni
Fil-biċċa l-kbira tal-każijiet, l-amministraturi tas-sistema Linux jidħlu għal servers Linux remoti billi jużaw SSH jew billi jipprovdu password, jew login SSH mingħajr password, jew awtentikazzjoni SSH ibbażata fuq iċ-ċavetta.
X'jiġri jekk trid tipprovdi password flimkien mal-isem tal-utent lil SSH pront innifsu? dan huwa fejn sshpass jiġi biex isalva.
sshpass hija għodda sempliċi u ħafifa tal-linja tal-kmand li tippermettilna nipprovdu password (awtentikazzjoni tal-password mhux interattiva) lill-pront tal-kmand innifsu, sabiex ikunu jistgħu jiġu esegwiti skripts tal-qoxra awtomatizzati biex jieħdu backups permezz ta 'cron scheduler.
ssh juża aċċess dirett TTY biex jiżgura li l-password tkun fil-fatt fornuta minn utent tat-tastiera interattiva. Sshpass imexxi ssh f'tty dedikat, iqarraq biex jemmen li qed jirċievi l-password minn utent interattiv.
Importanti: L-użu ta 'sshpass meqjus bħala l-inqas sigur, peress li jiżvela l-password lill-utenti kollha tas-sistema fuq il-linja tal-kmand bi kmand sempliċi ps. Nirrakkomanda ħafna li tuża awtentikazzjoni SSH Passwordless.
Installa sshpass fuq Sistemi Linux
F'sistemi bbażati fuq RedHat/CentOS, l-ewwel trid tikkmanda yum kif muri.
# yum install sshpass # dnf install sshpass [On Fedora 22+ versions]
Fuq Debian/Ubuntu u d-derivattivi tiegħu, tista’ tinstallah billi tuża apt-get kmand kif muri.
$ sudo apt-get install sshpass
Alternattivament, tista 'tinstalla mis-sors biex ikollok l-aħħar verżjoni ta' sshpass, l-ewwel niżżel il-kodiċi tas-sors u mbagħad estratt il-kontenut tal-fajl tal-qatran u installah hekk:
$ 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
Kif tuża sshpass fil-Linux
sshpass jintuża flimkien ma' ssh, tista' tara l-għażliet kollha ta' użu ta' sshpass b'deskrizzjonijiet sħaħ billi toħroġ il-kmand hawn taħt:
$ 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
Kif semmejt qabel, sshpass huwa aktar affidabbli u utli għal skopijiet ta 'scripting, ikkunsidra l-kmandi ta' eżempju hawn taħt.
Idħol fis-server ssh Linux remot (10.42.0.1) bl-isem tal-utent u l-password u iċċekkja l-użu tad-disk tas-sistema tal-fajls tas-sistema remota kif muri.
$ sshpass -p 'my_pass_here' ssh [email 'df -h'
Importanti: Hawnhekk, il-password hija pprovduta fuq il-linja tal-kmand li hija prattikament mhux sigura u l-użu ta 'din l-għażla mhuwiex rakkomandat.
Madankollu, biex tevita li turi l-password fuq l-iskrin, tista' tuża l-marka -e
u daħħal il-password bħala valur tal-varjabbli ambjentali SSHPASS kif hawn taħt:
$ export SSHPASS='my_pass_here' $ echo $SSHPASS $ sshpass -e ssh [email 'df -h'
Nota: Fl-eżempju ta 'hawn fuq, il-varjabbli tal-ambjent SSHPASS huwa għal skop temporanju biss u se jitneħħa waqt il-bidu mill-ġdid.
Biex issettja b'mod permanenti l-varjabbli tal-ambjent SSHPASS, iftaħ il-fajl /etc/profile u ikteb id-dikjarazzjoni tal-esportazzjoni fil-bidu tal-fajl:
export SSHPASS='my_pass_here'
Issejvja l-fajl u oħroġ, imbagħad mexxi l-kmand hawn taħt biex taffettwa l-bidliet:
$ source /etc/profile
Min-naħa l-oħra, tista' wkoll tuża l-bandiera -f
u tpoġġi l-password f'fajl. B'dan il-mod, tista 'taqra l-password mill-fajl kif ġej:
$ sshpass -f password_filename ssh [email 'df -h'
Tista 'wkoll tuża sshpass biex tagħmel backup/sync fajls fuq rsync billi tuża SSH kif muri:
------- 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/
Għal aktar użu, nissuġġerik li taqra l-paġna man sshpass, ittajpja:
$ man sshpass
F'dan l-artikolu, spjegajna sshpass għodda sempliċi li tippermetti awtentikazzjoni tal-password mhux interattiva. Għalkemm, din l-għodda tista 'tkun ta' għajnuna, huwa rakkomandat ħafna li tuża l-mekkaniżmu ta 'awtentikazzjoni taċ-ċavetta pubblika aktar sigur ta' ssh.
Jekk jogħġbok, ħalli mistoqsija jew kumment permezz tat-taqsima tal-feedback hawn taħt għal aktar diskussjonijiet.