sshpass: Frábært tól fyrir ógagnvirka SSH innskráningu - Notaðu aldrei á framleiðsluþjóni


Í flestum tilfellum skrá Linux kerfisstjórar inn á ytri Linux netþjóna með því að nota SSH annað hvort með því að gefa upp lykilorð eða lykilorðslausa SSH innskráningu eða lyklabyggða SSH auðkenningu.

Hvað ef þú vilt gefa upp lykilorð ásamt notandanafni til að SSH hvetja sig? þetta er þar sem sshpass kemur til bjargar.

sshpass er einfalt og létt skipanalínuverkfæri sem gerir okkur kleift að útvega lykilorð (ekki gagnvirka auðkenningu lykilorðs) á skipanalínuna sjálfa, svo hægt sé að keyra sjálfvirkar skeljaforskriftir til að taka afrit í gegnum cron tímaáætlun.

ssh notar beinan TTY aðgang til að ganga úr skugga um að lykilorðið sé í raun gefið upp af gagnvirkum lyklaborðsnotanda. Sshpass keyrir ssh í sérstöku tty, afvegaleiða það til að trúa því að það sé að fá lykilorðið frá gagnvirkum notanda.

Mikilvægt: Notkun sshpass er talin vera minnst örugg, þar sem það opinberar lykilorðið fyrir alla kerfisnotendur á skipanalínunni með einfaldri „ps“ skipun. Ég mæli eindregið með því að nota SSH lykilorðslausa auðkenningu.

Settu upp sshpass á Linux kerfum

Í RedHat/CentOS byggðum kerfum þarftu fyrst að yum skipun eins og sýnt er.

# yum install sshpass
# dnf install sshpass    [On Fedora 22+ versions]

Á Debian/Ubuntu og afleiðum þess geturðu sett það upp með apt-get skipuninni eins og sýnt er.

$ sudo apt-get install sshpass

Að öðrum kosti geturðu sett upp frá uppruna til að hafa nýjustu útgáfuna af sshpass, fyrst hlaða niður frumkóðanum og síðan draga út innihald tar skráarinnar og setja hana upp eins og svo:

$ 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 

Hvernig á að nota sshpass í Linux

sshpass er notað ásamt ssh, þú getur skoðað alla sshpass notkunarmöguleikana með fullum lýsingum með því að gefa út skipunina hér að neðan:

$ 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

Eins og ég nefndi áður er sshpass áreiðanlegra og gagnlegra í forskriftarskyni, skoðaðu dæmi skipanirnar hér að neðan.

Skráðu þig inn á ytri Linux ssh miðlara (10.42.0.1) með notandanafninu og lykilorðinu og athugaðu skráarkerfisdisknotkun ytra kerfisins eins og sýnt er.

$ sshpass -p 'my_pass_here' ssh [email  'df -h' 

Mikilvægt: Hér er lykilorðið gefið upp á skipanalínunni sem er nánast óöruggt og ekki er mælt með því að nota þennan valkost.

Hins vegar, til að koma í veg fyrir að lykilorð birtist á skjánum, geturðu notað -e fánann og slegið inn lykilorðið sem gildi SSHPASS umhverfisbreytunnar eins og hér að neðan:

$ export SSHPASS='my_pass_here'
$ echo $SSHPASS
$ sshpass -e ssh [email  'df -h' 

Athugið: Í dæminu hér að ofan er SSHPASS umhverfisbreytan aðeins í tímabundnum tilgangi og verður fjarlægð við endurræsingu.

Til að stilla varanlega SSHPASS umhverfisbreytuna, opnaðu /etc/profile skrána og sláðu inn útflutningsyfirlýsinguna í upphafi skráarinnar:

export SSHPASS='my_pass_here'

Vistaðu skrána og hættu, keyrðu síðan skipunina hér að neðan til að framkvæma breytingarnar:

$ source /etc/profile 

Á hinn bóginn geturðu líka notað -f fánann og sett lykilorðið í skrá. Þannig geturðu lesið lykilorðið úr skránni sem hér segir:

$ sshpass -f password_filename ssh [email  'df -h'

Þú getur líka notað sshpass til að taka öryggisafrit/samstilla skrár yfir rsync með því að nota SSH eins og sýnt er:

------- 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/

Fyrir frekari notkun mæli ég með að þú lesir í gegnum sshpass man síðuna, sláðu inn:

$ man sshpass

Í þessari grein útskýrðum við sshpass einfalt tól sem gerir ógagnvirka auðkenningu lykilorðs kleift. Þó að þessi verkfæri geti verið gagnleg, þá er mjög mælt með því að nota öruggari opinbera lykil auðkenningarkerfi ssh.

Vinsamlegast skildu eftir spurningu eða athugasemd í gegnum athugasemdahlutann hér að neðan fyrir frekari umræður.