ວິທີການສ້າງອຸໂມງ SSH ຫຼື Port Forwarding ໃນ Linux


ການເຈາະອຸໂມງ SSH (ຍັງເອີ້ນວ່າການສົ່ງຕໍ່ພອດ SSH) ແມ່ນພຽງແຕ່ການ ນຳ ໃຊ້ການຈາລະຈອນເຄືອຂ່າຍໃນທ້ອງຖິ່ນຜ່ານ SSH ໄປຍັງເຈົ້າພາບຫ່າງໄກສອກຫຼີກ. ນີ້ຫມາຍຄວາມວ່າການເຊື່ອມຕໍ່ຂອງທ່ານທັງ ໝົດ ແມ່ນປອດໄພໂດຍໃຊ້ການເຂົ້າລະຫັດ. ມັນສະ ໜອງ ວິທີງ່າຍໆໃນການຕັ້ງຄ່າ VPN ຂັ້ນພື້ນຖານ (ເຄືອຂ່າຍເອກະຊົນ Virtual), ມີປະໂຫຍດຕໍ່ການເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍເອກະຊົນໃນເຄືອຂ່າຍສາທາລະນະທີ່ບໍ່ປອດໄພເຊັ່ນອິນເຕີເນັດ.

ທ່ານຍັງອາດຈະຖືກ ນຳ ໃຊ້ເພື່ອເຜີຍແຜ່ເຄື່ອງແມ່ຂ່າຍທ້ອງຖິ່ນທີ່ຢູ່ເບື້ອງຫຼັງ NATs ແລະ ກຳ ແພງໄຟໃຫ້ກັບອິນເຕີເນັດຜ່ານທາງອຸໂມງທີ່ປອດໄພ, ດັ່ງທີ່ໄດ້ປະຕິບັດໃນ ngrok.

ກອງປະຊຸມ SSH ອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ເຄືອຂ່າຍອຸໂມງຕາມ ກຳ ນົດແລະມີສາມປະເພດຂອງການສົ່ງຕໍ່ພອດ SSH: ການສົ່ງຕໍ່ພອດທ້ອງຖິ່ນ, ຫ່າງໄກສອກຫຼີກແລະແບບເຄື່ອນໄຫວ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະສະແດງວິທີການຕັ້ງອຸໂມງອຸໂມງ SSH ຢ່າງໄວວາແລະງ່າຍດາຍຫຼືປະເພດຕ່າງໆຂອງການສົ່ງຕໍ່ພອດໃນ Linux.

ສຳ ລັບຈຸດປະສົງຂອງບົດຂຽນນີ້, ພວກເຮົາ ກຳ ລັງ ນຳ ໃຊ້ການຈັດຕັ້ງດັ່ງຕໍ່ໄປນີ້:

<

  • ເຈົ້າພາບທ້ອງຖິ່ນ: 192.168.43.31
  • ໂຮດທາງໄກ: Linode CentOS 7 VPS ກັບ hostname server1.example.com.
  • ໂດຍປົກກະຕິແລ້ວ, ທ່ານສາມາດເຊື່ອມຕໍ່ກັບເຊີບເວີຫ່າງໄກສອກຫຼີກຢ່າງປອດໄພໂດຍໃຊ້ SSH ດັ່ງຕໍ່ໄປນີ້. ໃນຕົວຢ່າງນີ້, ຂ້ອຍໄດ້ຕັ້ງຄ່າການເຂົ້າລະຫັດ SSH ທີ່ບໍ່ມີລະຫັດລະຫວ່າງເຈົ້າຂອງທ້ອງຖິ່ນແລະຫ່າງໄກສອກຫຼີກຂອງຂ້ອຍ, ສະນັ້ນມັນບໍ່ໄດ້ຂໍລະຫັດຜ່ານຂອງ admin ຂອງຜູ້ໃຊ້.

    $ ssh [email   
    

    ການສົ່ງຕໍ່ພອດທ້ອງຖິ່ນ SSH

    ປະເພດຂອງການສົ່ງຕໍ່ພອດນີ້ຊ່ວຍໃຫ້ທ່ານເຊື່ອມຕໍ່ຈາກຄອມພິວເຕີໃນທ້ອງຖິ່ນຂອງທ່ານກັບເຄື່ອງແມ່ຂ່າຍຫ່າງໄກສອກຫຼີກ. ສົມມຸດວ່າທ່ານຢູ່ເບື້ອງຫລັງ firewall ທີ່ ຈຳ ກັດຫລືຖືກປິດກັ້ນໂດຍ firewall ທີ່ອອກຈາກການເຂົ້າເຖິງແອັບພລິເຄຊັນທີ່ແລ່ນຢູ່ port 3000 ໃນ server ຫ່າງໄກສອກຫຼີກຂອງທ່ານ.

    ທ່ານສາມາດສົ່ງຕໍ່ພອດທ້ອງຖິ່ນ (ເຊັ່ນ: 8080) ເຊິ່ງທ່ານສາມາດ ນຳ ໃຊ້ເພື່ອເຂົ້າໃຊ້ແອັບພລິເຄຊັນໃນທ້ອງຖິ່ນດັ່ງຕໍ່ໄປນີ້. ທຸງ -L ກຳ ນົດທີ່ Port ທີ່ສົ່ງຕໍ່ໄປຫາ host ແລະ port ຫ່າງໄກສອກຫຼີກ.

    $ ssh [email  -L 8080: server1.example.com:3000
    

    ການເພີ່ມທຸງ -N ໝາຍ ຄວາມວ່າບໍ່ປະຕິບັດ ຄຳ ສັ່ງທາງໄກ, ທ່ານຈະບໍ່ໄດ້ຮັບເປືອກໃນກໍລະນີນີ້.

    $ ssh -N [email  -L 8080: server1.example.com:3000
    

    ປຸ່ມປ່ຽນ -f ແນະ ນຳ ໃຫ້ ssh ໃຊ້ງານໃນພື້ນຫລັງ.

    $ ssh -f -N [email  -L 8080: server1.example.com:3000
    

    ດຽວນີ້, ຢູ່ໃນເຄື່ອງທ້ອງຖິ່ນຂອງທ່ານ, ເປີດໂປແກຼມທ່ອງເວັບ, ແທນທີ່ຈະເຂົ້າໃຊ້ໂປແກຼມທີ່ຢູ່ຫ່າງໄກສອກຫຼີກໂດຍໃຊ້ທີ່ຢູ່ server1.example.com:3000, ທ່ານພຽງແຕ່ສາມາດໃຊ້ localhost: 8080 ຫຼື 192.168.43.31: 8080 , ດັ່ງທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍຂ້າງລຸ່ມນີ້.

    ການສົ່ງຕໍ່ Port SSH ໄລຍະໄກ

    ການສົ່ງຕໍ່ພອດຫ່າງໄກສອກຫຼີກຊ່ວຍໃຫ້ທ່ານເຊື່ອມຕໍ່ຈາກເຄື່ອງຫ່າງໄກສອກຫຼີກຂອງທ່ານກັບຄອມພິວເຕີ້ທ້ອງຖິ່ນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, SSH ບໍ່ອະນຸຍາດໃຫ້ສົ່ງຕໍ່ພອດທີ່ຢູ່ໄກ. ທ່ານສາມາດເປີດໃຊ້ງານໂດຍໃຊ້ ຄຳ ສັ່ງຂອງ GatewayPorts ໃນເອກະສານການຕັ້ງຄ່າຫລັກຂອງທ່ານ/SSHD/etc/ssh/sshd_config ໃນໂຮດຫ່າງໄກສອກຫຼີກ.

    ເປີດແຟ້ມເອກະສານເພື່ອແກ້ໄຂໂດຍໃຊ້ບັນນາທິການບັນທັດ ຄຳ ສັ່ງທີ່ທ່ານມັກ.

    $ sudo vim /etc/ssh/sshd_config 
    

    ຊອກຫາ ຄຳ ສັ່ງທີ່ຕ້ອງການ, ບໍ່ສົນໃຈມັນແລະ ກຳ ນົດຄ່າຂອງມັນໃສ່ ແມ່ນແລ້ວ , ດັ່ງທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍ.

    GatewayPorts yes
    

    ບັນທຶກການປ່ຽນແປງແລະການອອກ. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງເລີ່ມ ໃໝ່ sshd ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ ໃໝ່ໆ ທີ່ທ່ານໄດ້ເຮັດ.

    $ sudo systemctl restart sshd
    OR
    $ sudo service sshd restart 
    

    ຕໍ່ໄປ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອສົ່ງຕໍ່ພອດ 5000 ເທິງເຄື່ອງຫ່າງໄກສອກຫຼີກເພື່ອສົ່ງ 3000 ໃສ່ເຄື່ອງທ້ອງຖິ່ນ.

    $ ssh -f -N [email  -R 5000:localhost:3000
    

    ເມື່ອທ່ານເຂົ້າໃຈວິທີການເຈາະອຸໂມງນີ້, ທ່ານສາມາດເຜີຍແຜ່ເຄື່ອງແມ່ຂ່າຍການພັດທະນາທ້ອງຖິ່ນໄດ້ຢ່າງງ່າຍດາຍແລະປອດໄພ, ໂດຍສະເພາະແມ່ນຢູ່ເບື້ອງຫຼັງຂອງ NATs ແລະໄຟວໍກັບອິນເຕີເນັດຜ່ານອຸໂມງທີ່ປອດໄພ. ອຸໂມງຕ່າງໆເຊັ່ນ Ngrok, pagekite, localtunnel ແລະອີກຫຼາຍໆບ່ອນເຮັດວຽກໃນແບບທີ່ຄ້າຍຄືກັນ.

    ການສົ່ງຕໍ່ທ່າເຮືອ SSH ແບບເຄື່ອນໄຫວ

    ນີ້ແມ່ນປະເພດທີສາມຂອງການສົ່ງຕໍ່ທ່າເຮືອ. ບໍ່ຄືກັບການສົ່ງຕໍ່ພອດທ້ອງຖິ່ນແລະຫ່າງໄກສອກຫຼີກທີ່ຊ່ວຍໃຫ້ການສື່ສານກັບພອດດຽວ, ມັນສາມາດເຮັດໃຫ້ເປັນໄປໄດ້, ການສື່ສານ TCP ເຕັມຮູບແບບໃນຫລາຍໆພອດ ການສົ່ງຕໍ່ພອດແບບເຄື່ອນໄຫວຕັ້ງເຄື່ອງຂອງທ່ານເປັນເຊີບເວີຕົວແທນ SOCKS ເຊິ່ງຟັງໃນພອດ 1080, ໂດຍຄ່າເລີ່ມຕົ້ນ.

    ສຳ ລັບຜູ້ເລີ່ມຕົ້ນ, SOCKS ແມ່ນໂປໂຕຄອນອິນເຕີເນັດທີ່ ກຳ ນົດວິທີທີ່ລູກຄ້າສາມາດເຊື່ອມຕໍ່ກັບເຊີບເວີຜ່ານເຊີຟເວີຕົວແທນ (SSH ໃນກໍລະນີນີ້). ທ່ານສາມາດເຮັດໃຫ້ການສົ່ງຕໍ່ພອດແບບເຄື່ອນໄຫວໂດຍໃຊ້ຕົວເລືອກ -D.

    ຄໍາສັ່ງຕໍ່ໄປນີ້ຈະເລີ່ມຕົ້ນຕົວແທນ SOCKS ໃນພອດ 1080 ຊ່ວຍໃຫ້ທ່ານສາມາດເຊື່ອມຕໍ່ກັບໂຮດຫ່າງໄກສອກຫຼີກ.

    $ ssh -f -N -D 1080 [email 
    

    ຈາກນີ້ທ່ານສາມາດເຮັດໃຫ້ໂປແກຼມຕ່າງໆໃນເຄື່ອງຂອງທ່ານໃຊ້ເຄື່ອງແມ່ຂ່າຍຕົວແທນ SSH ນີ້ໂດຍການແກ້ໄຂການຕັ້ງຄ່າຂອງພວກເຂົາແລະ ກຳ ນົດໃຫ້ພວກເຂົາໃຊ້ມັນ, ເພື່ອເຊື່ອມຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍຫ່າງໄກສອກຫຼີກຂອງທ່ານ. ໃຫ້ສັງເກດວ່າຕົວແທນ SOCKS ຈະຢຸດເຮັດວຽກຫຼັງຈາກທີ່ທ່ານປິດກອງປະຊຸມ SSH ຂອງທ່ານ.

    ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍປະເພດຕ່າງໆຂອງການສົ່ງຕໍ່ພອດຈາກເຄື່ອງຈັກ ໜຶ່ງ ຫາເຄື່ອງ ໜຶ່ງ, ເພື່ອການຈະລາຈອນທາງອຸໂມງຜ່ານການເຊື່ອມຕໍ່ SSH ທີ່ປອດໄພ. ນີ້ແມ່ນ ໜຶ່ງ ໃນການໃຊ້ SSH ຫຼາຍ. ທ່ານສາມາດເພີ່ມສຽງຂອງທ່ານເຂົ້າໃນຄູ່ມືນີ້ໂດຍຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.

    ເອົາໃຈໃສ່: ການສົ່ງຕໍ່ພອດ SSH ມີຂໍ້ເສຍປຽບບາງຢ່າງ, ມັນສາມາດຖືກທາລຸນ: ມັນສາມາດຖືກ ນຳ ໃຊ້ເຂົ້າໃນການກວດສອບເຄືອຂ່າຍໂດຍຜ່ານການກວດສອບແລະໂປແກຼມການກັ່ນຕອງການຈາລະຈອນ (ຫຼືລະບົບປ້ອງກັນໄຟ). ຜູ້ໂຈມຕີສາມາດໃຊ້ມັນເພື່ອກິດຈະ ກຳ ທີ່ເປັນອັນຕະລາຍ. ໃນບົດຂຽນຕໍ່ໄປຂອງພວກເຮົາ, ພວກເຮົາຈະສະແດງວິທີການປິດການສົ່ງຕໍ່ພອດທ້ອງຖິ່ນຂອງ SSH. ຕິດຕໍ່ກັນໄດ້!