ProxySOCKS5 JSch సెషన్‌ను ఇప్పటికే ఉన్న SOCKS సేవ యొక్క క్లయింట్‌గా చేస్తుంది. అది స్వయంగా వ్యతిరేక లక్షణాన్ని—ఇతర క్లయింట్‌లను SSH ద్వారా తీసుకువెళ్లే SOCKS లిజనర్‌ను—అందించదు.

JSch jsch = new JSch();
jsch.setKnownHosts("/home/alex/.ssh/known_hosts");

Session session = jsch.getSession("alex", "ssh.example.net", 22);
ProxySOCKS5 proxy = new ProxySOCKS5("127.0.0.1", 1080);
session.setProxy(proxy);

యాప్‌లికేషన్ యొక్క SSH ప్రామాణీకరణ మరియు సెషన్ కనెక్షన్‌కు ముందు దీన్ని అమలు చేయండి. known-hosts ఫైల్‌ను ఉద్దేశించిన SSH సర్వర్ గుర్తింపుతో సిద్ధం చేయండి మరియు ఆ తనిఖీలను ప్రాక్సీ ద్వారా నిలుపుకోండి.

ప్రాక్సీ ఆబ్జెక్ట్ యొక్క క్రెడెన్షియల్ ఇంటర్‌ఫేస్, అవసరమైనప్పుడు, మధ్యవర్తితో ప్రామాణీకరిస్తుంది. ఇది SSH లాగిన్‌ను భర్తీ చేయదు. పబ్లిక్‌గా చేరుకోగల SSH సర్వర్ కోసం, పబ్లిక్ మధ్యవర్తులు అనుమతించబడిన చోట, SOCKS5 ప్రాక్సీ జాబితా ProxySOCKS5 కోసం అభ్యర్థులను అందిస్తుంది. చూపిన ప్రాక్సీ-ఖాతా-లేని ఫారమ్‌ను ఉపయోగించి, నోడ్ వాస్తవ SSH హోస్ట్ మరియు పోర్ట్‌ను అనుమతిస్తుందని నిర్ధారించండి.

లిజనర్ అవసరాలకు, ముందుగా నిర్ణయించిన ఒక లక్ష్యానికి స్థిరమైన ఫార్వార్డింగ్‌ను ప్రతి క్లయింట్ కోసం డైనమిక్ SOCKS చర్చల నుండి వేరు చేయండి. సంబంధం లేని టన్నెలింగ్ పద్ధతి ఆ సర్వర్‌ను అందించదు. “SOCKS మద్దతు”ను రెండు పనులుగా అర్థం చేసుకోవడం బదులు ఇన్‌స్టాల్ చేసిన లైబ్రరీ యొక్క ఖచ్చితమైన పబ్లిక్ సామర్థ్యాన్ని తనిఖీ చేయండి.

సంబంధిత వ్యాసాలు