ສ້າງ SOCKS proxy ພາຍໃນເຄື່ອງດ້ວຍ SSH
ໃຊ້ OpenSSH dynamic forwarding ທີ່ 127.0.0.1, ຮັກສາ process ຕະຫຼອດ session ແລະແຍກ listener ທີ່ໃຊ້ໄດ້ຈາກປາຍທາງທີ່ໄປຮອດ.
ຖ້າມີ SSH access ທີ່ອະນຸຍາດໄປ server, OpenSSH ສ້າງ SOCKS listener ໃນຄອມພິວເຕີທ່ານໄດ້. ການເຊື່ອມຕໍ່ SSH ຂົນ traffic ທີ່ສົ່ງຕໍ່ ແລະ server ໄລຍະໄກເຊື່ອມກັບປາຍທາງ.
Listener ສຳລັບ loopback ເທົ່ານັ້ນ
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
ປ່ຽນບັນຊີແລະ hostname. SSH server ຕ້ອງອະນຸຍາດ forwarding; ຜູ້ດູແລອາດຈຳກັດ forwarding ແລະປາຍທາງແຍກຈາກ login ບັນຊີ.
-D ສ້າງ dynamic forwarding ແລະທີ່ຢູ່ loopback ທີ່ຊັດເຈນຈຳກັດ listener ໃນເຄື່ອງນີ້. -N ບໍ່ລັນ remote command; -T ບໍ່ໃຫ້ pseudo-terminal. ControlPath=none ຫຼີກ sharing master ທີ່ມີຢູ່ ແລະ ForkAfterAuthentication=no ຮັກສາການເອີ້ນນີ້ໃນ foreground.
ໃຫ້ process ເຮັດວຽກຂະນະໃຊ້ proxy. ຖ້າ port1080 ຖືກໃຊ້ ໃຫ້ເລືອກ high port ອື່ນທີ່ວ່າງແລະແກ້ client. ExitOnForwardFailure=yes ເຮັດໃຫ້ SSH ອອກຖ້າສ້າງ listener ບໍ່ໄດ້.
ໃຊ້ SOCKS endpoint
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
ຄຳຂໍນີ້ມອບການຈັດການຊື່ປາຍທາງຜ່ານ SOCKS5. ແອັບອື່ນຕ້ອງມີການຕັ້ງ SOCKS ຂອງຕົນ; ຊ່ອງ HTTP proxy ບໍ່ສາມາດເວົ້າ SOCKS ກັບ listener ນີ້.
ເພື່ອກວດ process ທີ່ເປັນເຈົ້າຂອງ port:
ss -ltnp 'sport = :1080'
Process SSH ທີ່ຕັ້ງໃຈໃຊ້ຄວນເປັນເຈົ້າຂອງ loopback listener. ຄຳຂໍຜ່ານມັນກວດວ່າ server ໄລຍະໄກກໍໄປຮອດເປົ້າໝາຍໄດ້. ໃຊ້ປາຍທາງທີ່ຄວບຄຸມເອງ ເມື່ອຕ້ອງກວດທາງອອກທີ່ສັງເກດໄດ້.
ອາຍຸ session
Ctrl-C ປິດ SSH process, listener ແລະການເຊື່ອມຕໍ່ທີ່ສົ່ງຕໍ່. SSH ຂາດກໍເຮັດໃຫ້ proxy ໃຊ້ບໍ່ໄດ້.
ExitOnForwardFailure ກວດການສ້າງເລີ່ມຕົ້ນ. ມັນບໍ່ຢຸດ SSH ທຸກຄັ້ງທີ່ການເຊື່ອມປາຍທາງພາຍຫຼັງລົ້ມເຫຼວ, ຈຶ່ງຄວນກວດ session, port ໃນເຄື່ອງ ແລະຄຳຂໍປາຍທາງແຍກກັນ.