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 ಈ ಕರೆಯನ್ನು 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, ಸ್ಥಳೀಯ ಪೋರ್ಟ್ ಮತ್ತು ಗಮ್ಯಸ್ಥಾನ ವಿನಂತಿಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಶೀಲಿಸಿ.