មានសិទ្ធិ SSH ដែលបានអនុញ្ញាតទៅ 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 មូលដ្ឋាន និងសំណើគោលដៅដាច់ដោយឡែក។

អត្ថបទពាក់ព័ន្ធ