sshpass: ເຄື່ອງມືທີ່ດີເລີດ ສຳ ລັບການເຂົ້າສູ່ລະບົບ SSH ທີ່ບໍ່ມີການໂຕ້ຕອບ - ບໍ່ເຄີຍໃຊ້ໃນໂປແກຼມຜະລິດ
ໃນກໍລະນີຫຼາຍທີ່ສຸດ, ຜູ້ເບິ່ງແຍງລະບົບ Linux ເຂົ້າສູ່ລະບົບເຄື່ອງແມ່ຂ່າຍ Linux ທີ່ຢູ່ຫ່າງໄກສອກຫຼີກໂດຍໃຊ້ SSH ໂດຍການສະ ໜອງ ລະຫັດຜ່ານ, ຫຼືການເຂົ້າລະຫັດຜ່ານ SSH ທີ່ບໍ່ມີລະຫັດ, ຫຼືການກວດສອບ SSH ທີ່ຖືກລັອກ.
ຈະເປັນແນວໃດຖ້າທ່ານຕ້ອງການສະ ໜອງ ລະຫັດຜ່ານພ້ອມກັບຊື່ຜູ້ໃຊ້ໃຫ້ກັບ SSH ຕົວມັນເອງ? ນີ້ແມ່ນບ່ອນທີ່ sshpass ມາຊ່ວຍເຫຼືອ.
sshpass ແມ່ນເຄື່ອງມືບັນທັດຄໍາສັ່ງທີ່ງ່າຍດາຍແລະເບົາທີ່ຊ່ວຍໃຫ້ພວກເຮົາສາມາດສະ ໜອງ ລະຫັດຜ່ານ (ການກວດສອບລະຫັດຜ່ານທີ່ບໍ່ມີການໂຕ້ຕອບ) ຕໍ່ຄໍາສັ່ງຂອງມັນເອງ, ເພື່ອໃຫ້ສະຄິບແກະແບບອັດຕະໂນມັດສາມາດປະຕິບັດໄດ້ເພື່ອການສໍາຮອງຂໍ້ມູນຜ່ານ cron scheduler.
ssh ໃຊ້ການເຂົ້າໃຊ້ TTY ໂດຍກົງເພື່ອໃຫ້ແນ່ໃຈວ່າລະຫັດຜ່ານຖືກສະ ໜອງ ໂດຍຕົວຈິງຂອງຜູ້ໃຊ້ແປ້ນພິມແບບໂຕ້ຕອບ. Sshpass ແລ່ນ ssh ໃນແບບທີ່ອຸທິດຕົນ, ເຮັດໃຫ້ມັນເຂົ້າໃຈຜິດວ່າມັນໄດ້ຮັບລະຫັດຜ່ານຈາກຜູ້ໃຊ້ໂຕ້ຕອບ.
ສິ່ງ ສຳ ຄັນ: ການໃຊ້ sshpass ຖືວ່າມີຄວາມປອດໄພ ໜ້ອຍ ທີ່ສຸດ, ຍ້ອນວ່າມັນເປີດເຜີຍລະຫັດຜ່ານໃຫ້ຜູ້ໃຊ້ລະບົບທັງ ໝົດ ໃນເສັ້ນ ຄຳ ສັ່ງດ້ວຍ ຄຳ ສັ່ງ“ ps” ງ່າຍດາຍ. ຂ້ອຍຂໍແນະ ນຳ ໃຫ້ໃຊ້ SSH Passwordless authentication.
ຕິດຕັ້ງ sshpass ໃນ Linux Systems
ໃນລະບົບທີ່ອີງໃສ່ RedHat/CentOS, ທຳ ອິດທ່ານ ຈຳ ເປັນຕ້ອງສັ່ງ ຄຳ ສັ່ງ yum ດັ່ງທີ່ສະແດງໄວ້.
# yum install sshpass # dnf install sshpass [On Fedora 22+ versions]
ໃນ Debian/Ubuntu ແລະອະນຸພັນຂອງມັນ, ທ່ານສາມາດຕິດຕັ້ງມັນໂດຍໃຊ້ ຄຳ ສັ່ງ apt-get ດັ່ງທີ່ສະແດງໄວ້.
$ sudo apt-get install sshpass
ອີກທາງເລືອກ ໜຶ່ງ, ທ່ານສາມາດຕິດຕັ້ງຈາກແຫລ່ງທີ່ມາເພື່ອໃຫ້ມີ sshpass ລຸ້ນລ້າສຸດ, ທຳ ອິດດາວໂຫລດລະຫັດແຫຼ່ງຂໍ້ມູນແລະຈາກນັ້ນສະກັດເນື້ອຫາຂອງເອກະສານ tar ແລະຕິດຕັ້ງມັນດັ່ງນັ້ນ:
$ 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
ວິທີການໃຊ້ sshpass ໃນ Linux
sshpass ໃຊ້ຮ່ວມກັນກັບ ssh, ທ່ານສາມາດເບິ່ງຕົວເລືອກການ ນຳ ໃຊ້ sshpass ທັງ ໝົດ ພ້ອມລາຍລະອຽດເຕັມໂດຍການອອກ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້:
$ 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
ດັ່ງທີ່ຂ້າພະເຈົ້າໄດ້ກ່າວມາກ່ອນ, sshpass ແມ່ນມີຄວາມ ໜ້າ ເຊື່ອຖືແລະເປັນປະໂຫຍດຫຼາຍ ສຳ ລັບຈຸດປະສົງການຂຽນອັກສອນ, ພິຈາລະນາ ຄຳ ສັ່ງຕົວຢ່າງຂ້າງລຸ່ມນີ້.
ເຂົ້າສູ່ລະບົບຫ່າງໄກສອກຫຼີກຂອງເຄື່ອງແມ່ຂ່າຍ Linux ssh (10.42.0.1) ດ້ວຍຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານແລະກວດເບິ່ງການໃຊ້ໄຟລ໌ລະບົບຂອງລະບົບຫ່າງໄກສອກຫຼີກດັ່ງທີ່ສະແດງ
$ sshpass -p 'my_pass_here' ssh [email 'df -h'
ສິ່ງ ສຳ ຄັນ: ທີ່ນີ້ລະຫັດຜ່ານແມ່ນໃຫ້ຢູ່ໃນເສັ້ນ ຄຳ ສັ່ງທີ່ບໍ່ປອດໄພແລະໃຊ້ຕົວເລືອກນີ້ບໍ່ໄດ້ຖືກແນະ ນຳ.
ເຖິງຢ່າງໃດກໍ່ຕາມ, ເພື່ອປ້ອງກັນການສະແດງລະຫັດຜ່ານໃນ ໜ້າ ຈໍ, ທ່ານສາມາດໃຊ້ທຸງ -e
ແລະໃສ່ລະຫັດຜ່ານເປັນຄ່າຂອງຕົວປ່ຽນສະພາບແວດລ້ອມຂອງ SSHPASS ດັ່ງລຸ່ມນີ້:
$ export SSHPASS='my_pass_here' $ echo $SSHPASS $ sshpass -e ssh [email 'df -h'
ໝາຍ ເຫດ: ໃນຕົວຢ່າງຂ້າງເທິງ, ຕົວປ່ຽນແປງສະພາບແວດລ້ອມຂອງ SSHPASS ແມ່ນ ສຳ ລັບຈຸດປະສົງຊົ່ວຄາວເທົ່ານັ້ນແລະຈະຖືກລຶບອອກໃນລະຫວ່າງການເປີດ ໃໝ່.
ເພື່ອ ກຳ ນົດຕົວປ່ຽນສະພາບແວດລ້ອມຂອງ SSHPASS ຢ່າງຖາວອນ, ເປີດເອກະສານ/etc/profile ແລະພິມ ຄຳ ຖະແຫຼງການສົ່ງອອກໃນຕອນຕົ້ນຂອງເອກະສານ:
export SSHPASS='my_pass_here'
ປະຫຍັດເອກະສານແລະອອກຈາກການ, ຫຼັງຈາກນັ້ນດໍາເນີນການຄໍາສັ່ງຂ້າງລຸ່ມນີ້ເພື່ອຜົນກະທົບການປ່ຽນແປງ:
$ source /etc/profile
ອີກດ້ານ ໜຶ່ງ, ທ່ານຍັງສາມາດໃຊ້ທຸງ -f
ແລະໃສ່ລະຫັດຜ່ານໄວ້ໃນແຟ້ມ. ວິທີນີ້, ທ່ານສາມາດອ່ານລະຫັດຜ່ານຈາກແຟ້ມດັ່ງຕໍ່ໄປນີ້:
$ sshpass -f password_filename ssh [email 'df -h'
ນອກນັ້ນທ່ານຍັງສາມາດໃຊ້ sshpass ເພື່ອ ສຳ ຮອງຂໍ້ມູນ/sync ໄຟລ໌ໃນໄລຍະ rsync ໂດຍໃຊ້ SSH ດັ່ງທີ່ສະແດງ:
------- 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/
ສຳ ລັບການ ນຳ ໃຊ້ຫຼາຍ, ຂ້າພະເຈົ້າຂໍແນະ ນຳ ໃຫ້ທ່ານອ່ານຜ່ານ ໜ້າ sshpass man, ໃຫ້ພິມ:
$ man sshpass
ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍ sshpass ເຄື່ອງມືງ່າຍໆທີ່ຊ່ວຍໃຫ້ການກວດສອບລະຫັດຜ່ານທີ່ບໍ່ມີການໂຕ້ຕອບ. ເຖິງແມ່ນວ່າ, ເຄື່ອງມືເຫຼົ່ານີ້ອາດຈະເປັນປະໂຫຍດ, ແຕ່ແນະ ນຳ ໃຫ້ໃຊ້ກົນໄກການກວດສອບລະຫັດສາທາລະນະທີ່ປອດໄພກວ່າ.
ກະລຸນາ, ຢ່າປ່ອຍໃຫ້ ຄຳ ຖາມຫຼື ຄຳ ເຫັນຜ່ານພາກ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້ ສຳ ລັບການສົນທະນາຕໍ່ໄປ.