నెట్వర్క్ యాక్సెస్ ఇప్పటికే ఉన్న చోటే SOCKS ప్రాక్సీ నడవాలని మీరు భావిస్తారు. OpenSSH శ్రోతను పూర్తిగా వేరే చోట ఉంచగలదు. దూరస్థ డైనమిక్ ఫార్వర్డింగ్ దూర హోస్ట్పై SOCKS పోర్టును తెరిచి ప్రతి కనెక్షన్ను మీ లోకల్ SSH క్లయింట్ నుండి ప్రారంభిస్తుంది, అది మీ ల్యాప్టాప్ ఆమోదిత VPN మార్గాన్ని మోసుకెళ్తుంది. Pi కి పరిమిత ప్రాక్సీ లభిస్తుంది; అది మీ టన్నెల్ను లేదా మీ ప్రత్యేక హక్కులను వారసత్వంగా పొందదు.

శ్రోత మరియు కనెక్షన్ ప్రారంభమయ్యే వైపు భిన్నంగా ఉండవచ్చు

సాధారణ ssh -D 1080 శ్రోతను మీ సొంత మెషీన్పై నడిపి అక్కడి నుండి కనెక్షన్లు పంపుతుంది. దూరస్థ డైనమిక్ ఫార్వర్డింగ్ దానిని తిరుగుతుంది: శ్రోత దూర హోస్ట్పై కనిపిస్తుంది, అది అంగీకరించే ప్రతి కనెక్షన్ లోకల్ వైపు నుండి తెరవబడుతుంది. OpenSSH క్లయింట్ మాన్యువల్ స్థిర గమ్యం లేకుండా -R ను సరిగ్గా ఈ SOCKS4/5 ఏర్పాటుగా నమోదు చేస్తుంది.

ల్యాప్టాప్ నుండి మద్దతు ఉన్న కమాండ్ ఇలా కనిపిస్తుంది, ఇందులో ఖాతా, హోస్ట్లు మరియు పోర్టు ప్లేస్హోల్డర్లుగా పరిగణించబడతాయి:

ssh -NT -S none -o ExitOnForwardFailure=yes \
  -o PermitRemoteOpen=app.corp.example:443 \
  -R 1080 [email protected]

అక్కడ మూడు వివరాలు ఉపయోగకరమైన పని చేస్తాయి. -S none సెషన్ను పంచుకున్న నియంత్రణ మాస్టర్ నుండి దూరంగా ఉంచుతుంది, ExitOnForwardFailure సగం తెరిచిన సెషన్తో వదిలేయడం బదులు త్వరగా విఫలమవుతుంది, PermitRemoteOpen దూర శ్రోత ఎంతవరకు చేరగలదో పరిమితం చేస్తుంది. అధికృత Pi ఖాతాను ఉపయోగించి ఇవేవైనా జోడించే ముందు హోస్ట్ కీని ధృవీకరించండి.

దూర శ్రోత నిజంగా ఏమి బహిర్గతం చేస్తుంది

శ్రోతపై ఆధారపడే ముందు సర్వర్ ఫార్వర్డింగ్ విధానాన్ని తనిఖీ చేయండి. GatewayPorts no తో దూర ఫార్వర్డింగ్ loopback కి కట్టుబడి ఉంటుంది, అదే మీకు కావలసిన బహిర్గతం. వైల్డ్కార్డ్ ఫార్వర్డింగ్ను బలవంతం చేయడానికి కాన్ఫిగర్ చేసిన సర్వర్ అదే పోర్టును ప్రతి ఇంటర్ఫేస్పై ప్రచురిస్తుంది, ఇది వ్యక్తిగత ప్రాక్సీని లోకల్ నెట్వర్క్ చేరగలిగే వస్తువుగా మారుస్తుంది.

loopback కూడా ప్రతి వినియోగదారుకు సరిహద్దు కాదు. Pi పై మరో ప్రక్రియ పోర్టు తెలిస్తే 127.0.0.1:1080 కి కనెక్ట్ కాగలదు, కాబట్టి Pi లోకల్ ఖాతాలు మరియు దానిపై నడిచే ప్రతిదీ మీ యాక్సెస్ డిజైన్లో భాగం. ఇది గమ్యాల జాబితాను ఇరుకుగా ఉంచడానికి కారణం, విధాన తనిఖీని దాటవేయడానికి కారణం కాదు.

మీరు చేరుకోవడానికి ప్రయత్నిస్తున్న అప్లికేషన్ కోసం అనుమతించిన గమ్యాన్ని నిర్దిష్టంగా ఉంచండి. సంబంధం లేని ప్రోగ్రామ్ పనిచేయాలని దాన్ని అపరిమిత ఫార్వర్డింగ్తో భర్తీ చేయడం మీరు ప్రారంభించిన సమస్య కంటే చాలా దూరంగా మార్గాన్ని విస్తరిస్తుంది. గమ్యాల జాబితా సెషన్ ఎందుకు ఉందో కూడా నమోదు చేస్తుంది, ఇది తర్వాత ఆడిట్ చేసేవారికి సహాయపడుతుంది. మీరు ఉపయోగించిన ఖాతా పక్కన దాన్ని రాయండి.

ఒక అప్లికేషన్ను ప్రాక్సీ ద్వారా పంపండి

Pi పై ప్రాక్సీని అర్థం చేసుకునే క్లయింట్ అప్పుడు అభ్యర్థన చేయగలదు. socks5h ఉపసర్గ గమ్యం పేరును ప్రాక్సీకి అందిస్తుంది, కాబట్టి శోధన మరియు కనెక్షన్ రెండూ ల్యాప్టాప్ వైపు జరుగుతాయి, మరియు PermitRemoteOpen లో పేర్కొన్న గమ్యంతో సరిపోతుంది:

curl --proxy socks5h://127.0.0.1:1080 \
  --noproxy '' https://app.corp.example/

సాధారణ సర్టిఫికెట్ ధృవీకరణ మరియు అప్లికేషన్ యొక్క స్వంత ప్రామాణీకరణను నిలుపుకోండి. ప్రాక్సీ TCP కనెక్షన్ ఎక్కడ ఏర్పడుతుందో మారుస్తుంది; అది ప్రామాణీకరణ లేని సేవను సురక్షితం చేయదు, స్వయం సంతకం చేసిన చివరి బిందువును విశ్వసనీయమైనదిగా మార్చదు.

ల్యాప్టాప్కు ఇంకా దాని స్వంత మార్గం మరియు SSH సర్వర్ మరియు అప్లికేషన్ రెండింటికీ రిజాల్వర్ యాక్సెస్ అవసరం. దాని SSH క్లయింట్ ట్రాఫిక్ ఆమోదిత VPN విధానం ద్వారా ఎంపిక కావాలి, మరియు split-tunnel మినహాయింపు ఆ ట్రాఫిక్ను మీరు పరీక్షించిన మార్గం కంటే వేరే మార్గంలో పంపగలదు.

మార్గాన్ని నిరూపించి దాన్ని మూసివేయండి

శ్రోత మీరు ఆశించిన చోట ఉందని మరియు ఉద్దేశించిన గమ్యం మాత్రమే సమాధానం ఇస్తుందని నిర్ధారించండి:

$ ss -ltnp | grep 1080
LISTEN 0 128 127.0.0.1:1080 0.0.0.0:*
$ curl -sS -o /dev/null -w '%{http_code}\n' \
    --proxy socks5h://127.0.0.1:1080 https://app.corp.example/

ExitOnForwardFailure ఫార్వర్డింగ్ స్థాపించబడిందని నిరూపించగలదు, అయినా అప్లికేషన్లో లాగిన్ క్రింద విజయవంతమవుతుందని ధృవీకరించలేదు. పోర్టును మాత్రమే కాదు, అప్లికేషన్ను పరీక్షించండి. అంగీకరించి తర్వాత ప్రతి అభ్యర్థనను విఫలం చేసే శ్రోత సాధారణంగా టన్నెల్ విఫలమైందని కాదు, గమ్యం పేరు లేదా ల్యాప్టాప్ మార్గం తప్పు అని అర్థం.

ఈ ఏర్పాటు TCP మాత్రమే మోస్తుంది. UDP, ICMP మరియు ప్రాక్సీ సెట్టింగ్లను విస్మరించే ప్రోగ్రామ్లు దాని వెలుపల ఉంటాయి, SSH సెషన్ ముగిసిన క్షణంలోనే ఫార్వర్డింగ్ ముగుస్తుంది. పని ముగిసిన తర్వాత ఆ సెషన్ను ఆపి, అప్లికేషన్కు జోడించిన ప్రాక్సీ సెట్టింగ్ను తీసివేయండి.

శాశ్వత యాక్సెస్ కోసం దానికి బదులు నెట్వర్క్ యజమాని మద్దతు ఉన్న నమోదు లేదా నిర్వహిత గేట్వే ఉపయోగించండి. VPN యొక్క పరికరం లేదా వనరు పరిమితులను తప్పించుకోవడానికి రివర్స్ ప్రాక్సీ తప్పు సాధనం; ఆ పరిమితుల లోపల ఉపయోగిస్తే అది స్పష్టమైన పరిమితులతో ఒకే అధికృత అప్లికేషన్ మార్గం మాత్రమే.

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