sshpass: Ngwá ọrụ mara mma maka nbanye SSH na-adịghị emekọrịta ihe - Ejila ya na ihe nkesa mmepụta


N'ọtụtụ ọnọdụ, ndị na-ahụ maka sistemụ Linux na-abanye na sava Linux dịpụrụ adịpụ site na iji SSH ma ọ bụ site na ịnye paswọọdụ, ma ọ bụ nbanye SSH na-enweghị paswọọdụ, ma ọ bụ nyocha SSH nke dabeere na igodo.

Kedu ihe ma ọ bụrụ na ịchọrọ ịnye paswọọdụ yana aha njirimara na SSH ozugbo n'onwe ya? nke a bụ ebe sshpass na-abịa napụta.

sshpass bụ ngwa ahịrị ahịrị iwu dị mfe ma dị fechaa nke na-enyere anyị aka ịnye paswọọdụ (ntinye okwuntughe na-abụghị mmekọrịta) na iwu ahụ n'onwe ya, ka enwere ike igbu scripts shei na-akpaghị aka iji nweta nkwado ndabere na mpaghara site na cron scheduler.

ssh na-eji ohere TTY kwụ ọtọ iji jide n'aka na onye ọrụ ahụigodo na-emekọrịta ihe na-eweta paswọọdụ. Sshpass na-agba ssh na tty raara onwe ya nye, duhie ya ka ọ kwenye na ọ na-enweta paswọọdụ sitere n'aka onye ọrụ mmekọrịta.

Ihe dị mkpa: Iji sshpass na-ewere na ọ dị obere nchekwa, ebe ọ na-ekpughere ndị ọrụ sistemụ niile paswọọdụ na ahịrị iwu na iwu ps dị mfe. Ana m akwado nke ukwuu iji SSH Paswọdu nyocha.

Wụnye sshpass na Linux Systems

Na sistemụ RedHat/CentOS, ị ga-ebu ụzọ mee iwu yum dị ka egosiri.

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

Na Debian/Ubuntu na usoro ya, ị nwere ike ịwụnye ya site na iji apt-nweta iwu dịka egosiri.

$ sudo apt-get install sshpass

N'aka nke ọzọ, ịnwere ike ịwụnye site na isi iyi ka ị nweta ụdị sshpass kachasị ọhụrụ, buru ụzọ budata koodu isi wee wepụ ọdịnaya nke faịlụ tar wee wụnye ya dị ka:

$ 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 

Otu esi eji sshpass na Linux

A na-eji sshpass yana ssh, ị nwere ike ịlele nhọrọ ojiji sshpass niile na nkọwa zuru ezu site na ịnye iwu dị n'okpuru:

$ 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

Dịka m kwuru na mbụ, sshpass bụ ntụkwasị obi ma baa uru maka ebumnuche ederede, tụlee iwu ihe atụ n'okpuru.

Banye na sava Linux ssh dịpụrụ adịpụ (10.42.0.1) na aha njirimara na paswọọdụ wee lelee ojiji diski sistemụ faịlụ nke sistemu dịpụrụ adịpụ dị ka egosiri.

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

Ihe dị mkpa: N'ebe a, a na-enye paswọọdụ n'ahịrị iwu nke na-enweghị nchebe na iji nhọrọ a adịghị atụ aro.

Agbanyeghị, iji gbochie igosi okwuntughe na ihuenyo, ị nwere ike iji ọkọlọtọ -e wee tinye paswọọdụ dịka uru nke mgbanwe gburugburu SSHPASS dị n'okpuru:

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

Mara: N'ihe atụ dị n'elu, mgbanwe gburugburu SSHPASS bụ maka naanị nwa oge, a ga-ewepụ ya n'oge nrụpụta.

Iji tọọ mgbanwe gburugburu SSHPASS kpamkpam, mepee faịlụ /etc/profaịlụ wee pịnye nkwupụta mbupụ na mbido faịlụ ahụ:

export SSHPASS='my_pass_here'

Chekwaa faịlụ ahụ wee pụọ, wee mee iwu dị n'okpuru ka ime mgbanwe ndị a:

$ source /etc/profile 

N'aka nke ọzọ, ị nwekwara ike iji ọkọlọtọ -f wee tinye paswọọdụ n'ime faịlụ. N'ụzọ dị otú a, ị nwere ike ịgụ paswọọdụ site na faịlụ dị ka ndị a:

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

Ị nwekwara ike iji sshpass ka ndabere/mekọrịta faịlụ n'elu rsync site na iji SSH dị ka egosiri:

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

Maka ojiji ọzọ, a na m atụ aro ka ị gụọ site na ibe sshpass man, pịnye:

$ man sshpass

N'isiokwu a, anyị kọwara sshpass ngwá ọrụ dị mfe nke na-eme ka njirimara paswọọdụ na-enweghị mmekọrịta. Agbanyeghị, ngwaọrụ a nwere ike inye aka, a na-atụ aro ka ị jiri usoro nyocha igodo ọha ssh nwere nchekwa.

Biko, hapụ ajụjụ ma ọ bụ kwuo okwu site na ngalaba nzaghachi n'okpuru maka mkparịta ụka ọ bụla ọzọ.