SSHతో స్థానిక SOCKS proxy సృష్టించండి
127.0.0.1లో OpenSSH dynamic forwarding వాడి sessionలో process నడిపించండి; listener పనిచేయడాన్ని గమ్యస్థానం చేరడంనుంచి వేరు చేయండి.
Serverకు అనుమతి ఉన్న SSH ప్రవేశంతో OpenSSH మీ కంప్యూటరులో SOCKS listener సృష్టించగలదు. SSH కనెక్షన్ ముందుకు పంపే ట్రాఫిక్ మోస్తుంది; remote server గమ్యస్థాన కనెక్షన్ చేస్తుంది.
Loopbackలో మాత్రమే listener
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
ఖాతా, hostname మార్చండి. SSH server forwarding అనుమతించాలి; నిర్వాహకుడు ఖాతాలో loginతో సంబంధం లేకుండా forwarding, గమ్యస్థానాలు పరిమితం చేయవచ్చు.
-D dynamic forwarding సృష్టిస్తుంది; స్పష్టమైన loopback చిరునామా listenerని ఈ యంత్రానికి పరిమితం చేస్తుంది. -N remote command అమలు చేయదు; -T pseudo-terminal కేటాయించదు. ControlPath=none ఇప్పటికే ఉన్న sharing master తప్పిస్తుంది; ForkAfterAuthentication=no ఈ invocationని foregroundలో ఉంచుతుంది.
Proxy వాడేటప్పుడు process నడుస్తుండాలి. పోర్ట్1080 వాడుకలో ఉంటే మరో ఖాళీ high port ఎంచుకుని client మార్చండి. ExitOnForwardFailure=yes listener సృష్టించలేకపోతే SSH ముగిస్తుంది.
SOCKS endpoint వాడటం
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
ఈ అభ్యర్థన SOCKS5 ద్వారా గమ్యస్థాన పేరును నిర్వహించడాన్ని అప్పగిస్తుంది. ఇతర యాప్లకు సొంత SOCKS సెట్టింగ్ అవసరం; HTTP proxy ఫీల్డ్ ఈ listenerతో SOCKS మాట్లాడలేదు.
పోర్ట్ ఏ processదో తనిఖీ చేయడానికి:
ss -ltnp 'sport = :1080'
ఉద్దేశించిన SSH processకు loopback listener ఉండాలి. దాని ద్వారా అభ్యర్థన remote server కూడా లక్ష్యాన్ని చేరగలదో తనిఖీ చేస్తుంది. గమనించిన నిష్క్రమణను పరిశీలించాలంటే మీ నియంత్రణలోని గమ్యస్థానం వాడండి.
Session జీవితకాలం
Ctrl-C SSH process, listener, ముందుకు పంపిన కనెక్షన్లను మూసేస్తుంది. SSH కనెక్షన్ తెగినా proxy అందుబాటులో ఉండదు.
ExitOnForwardFailure ప్రారంభ ఏర్పాటు తనిఖీ చేస్తుంది. తర్వాత ప్రతి గమ్యస్థాన కనెక్షన్ విఫలమైనప్పుడూ SSH ముగించదు; అందువల్ల session, స్థానిక పోర్ట్, గమ్యస్థాన అభ్యర్థన వేరుగా పరిశీలించండి.