Linuxలో SSH ప్రాక్సీజంప్ మరియు SSH ప్రాక్సీకమాండ్ ఎలా ఉపయోగించాలి
సంక్షిప్త: ఈ గైడ్లో, జంప్ సర్వర్కి కనెక్ట్ చేస్తున్నప్పుడు SSH ప్రాక్సీజంప్ మరియు SSH ప్రాక్సీకమాండ్ ఆదేశాలను ఎలా ఉపయోగించాలో మేము ప్రదర్శిస్తాము.
SSH జంప్ సర్వర్ను ఎలా సెటప్ చేయాలో మా మునుపటి గైడ్లో, మేము బాస్షన్ హోస్ట్ యొక్క భావనను కవర్ చేసాము. బాస్షన్ హోస్ట్ లేదా జంప్ సర్వర్ అనేది ఒక SSH క్లయింట్ టార్గెట్ రిమోట్ Linux సిస్టమ్ను యాక్సెస్ చేయడానికి ముందుగా కనెక్ట్ చేసే మధ్యవర్తి పరికరం. ఒక SSH జంప్ సర్వర్ మీ IT వనరులకు గేట్వేగా పని చేస్తుంది, తద్వారా దాడి ఉపరితలాన్ని తగ్గిస్తుంది.
SSH ProxyJump మరియు ProxyCommand ఆదేశాలు జంప్ సర్వర్, జంప్ హోస్ట్ లేదా బాస్టన్ సర్వర్ ద్వారా రిమోట్ సర్వర్కు క్లయింట్ ఎలా కనెక్ట్ అవుతుందో నిర్ణయిస్తాయి.
ఈ గైడ్ Linuxలో SSH ప్రాక్సీజంప్ మరియు SSH ప్రాక్సీ కమాండ్పై వెలుగునిస్తుంది.
SSH ప్రాక్సీజంప్ కమాండ్ ఉపయోగించి రిమోట్ లైనక్స్ని కనెక్ట్ చేయండి
ProxyJump ఆదేశం -J
ఫ్లాగ్తో సూచించబడుతుంది. ఇది ఓపెన్ఎస్ఎస్హెచ్ సర్వర్ వెర్షన్ 7.3లో పరిచయం చేయబడింది మరియు బురుజు లేదా జంప్ సర్వర్ ద్వారా దాటవేయడం ద్వారా రిమోట్ లక్ష్యానికి కనెక్షన్ని చేయడంలో మీకు సహాయపడుతుంది.
దిగువ వాక్యనిర్మాణం ఈ ఎంపిక ఎలా ఉపయోగించబడుతుందో చూపిస్తుంది:
$ ssh -J <jump-server> <remote-target>
బహుళ బురుజు లేదా జంప్ సర్వర్ల విషయంలో, వాక్యనిర్మాణం క్రింది ఆకృతిని తీసుకుంటుంది.
$ ssh -J <jump-server-1> <jump-server-2> <remote-target>
రెండు సందర్భాల్లో, మీరు అడుగడుగునా రూట్ యూజర్గా లాగిన్ చేయబడతారు. భద్రతా కారణాల దృష్ట్యా ఇది సరైనది కాదు, కాబట్టి మీరు ప్రతి సందర్భంలో వేర్వేరు వినియోగదారులను సృష్టించాలనుకోవచ్చు.
మీరు చూపిన విధంగా విభిన్న వినియోగదారులను మరియు SSH పోర్ట్లను స్పష్టంగా పేర్కొనవచ్చు.
$ ssh -J <[email :port> <[email :port>
ప్రాక్సీజంప్ ఫ్లాగ్ను చర్యలో ప్రదర్శించడానికి, చూపిన విధంగా మేము సరళమైన సెటప్ని కలిగి ఉన్నాము.
Jump Server IP: 173.82.232.55 User: james
Remote Target IP: 173.82.227.89 User: tecmint
జంప్ సర్వర్ ఉపయోగించి రిమోట్ లక్ష్యానికి కనెక్ట్ చేయడానికి, ఆదేశం క్రింది విధంగా కనిపిస్తుంది.
$ ssh -J [email [email
కమాండ్ మిమ్మల్ని జంప్ సర్వర్ యొక్క వినియోగదారు పాస్వర్డ్ కోసం అడుగుతుంది, ఆపై లక్ష్య సిస్టమ్ యొక్క పాస్వర్డ్ ద్వారా అనుసరించబడుతుంది, దానిపై మీకు లక్ష్య సిస్టమ్కు ప్రాప్యత మంజూరు చేయబడుతుంది.

మీరు నిర్దిష్ట రిమోట్ లక్ష్యానికి కనెక్ట్ చేయడానికి నిర్దిష్ట బురుజును క్రమం తప్పకుండా ఉపయోగిస్తుంటే, కనెక్షన్ని అతుకులు లేకుండా చేయడానికి మీరు క్రింది ప్రాక్సీజంప్ కాన్ఫిగరేషన్ను ~/.ssh/config ఫైల్లో జోడించవచ్చు. ఇది జరిగినప్పుడు, మీరు ఒకసారి మాత్రమే ప్రామాణీకరించబడతారు మరియు ఇది రిమోట్ లక్ష్యంపై మాత్రమే జరుగుతుంది.
Host host-jump
User james
Hostname 173.82.232.55
Host host_destination
User tecmint
Hostname 173.82.227.89
Port 22
పై కాన్ఫిగరేషన్ని ఉపయోగించి, చూపిన విధంగా మీరు లక్ష్యానికి కనెక్షన్ని చేయవచ్చు.
$ ssh -J host_destination

SSH ప్రాక్సీకమాండ్ కమాండ్ ఉపయోగించి రిమోట్ లైనక్స్ను కనెక్ట్ చేయండి
SSH ప్రాక్సీ జంప్కు ముందు, రిమోట్ లక్ష్యాన్ని చేరుకోవడానికి హోస్ట్లను జంపింగ్ చేయడానికి ప్రాక్సీకమాండ్ మాత్రమే మార్గం. ఇది జంప్ సర్వర్ లేదా బురుజు ద్వారా రిమోట్ లక్ష్యం నుండి stdin (ప్రామాణికం) మరియు stdout (ప్రామాణికం)ను ఫార్వార్డ్ చేయడం ద్వారా పని చేస్తుంది.
ProxyCommand కింది వాక్యనిర్మాణాన్ని తీసుకుంటుంది.
$ ssh -o ProxyCommand="ssh -W %h:%p <jump server>" <remote target>
ఇక్కడ, -W
నుండి %h:%p
ఆర్గ్యుమెంట్లు stdin మరియు అవుట్ రిమోట్ హోస్ట్ (%h)
మరియు రిమోట్కు ఫార్వార్డ్ చేయబడతాయి హోస్ట్ యొక్క పోర్ట్ (%p)
.
కమాండ్ను అమలులోకి తీసుకురావడానికి, మా ఆదేశం ఇలా ఉంటుంది
$ ssh -o ProxyCommand="ssh -W %h:%p 173.82.232.55" 173.82.227.89

వాస్తవానికి, మొత్తం ఆదేశాన్ని టైప్ చేయడం చాలా శ్రమతో కూడుకున్నది మరియు సమయం తీసుకుంటుంది. అటువంటి సుదీర్ఘమైన ఆదేశాన్ని టైప్ చేయకుండా ఉండటానికి, మీ ~/.ssh/config ఫైల్కి క్రింది కోడ్ లైన్లను జోడించండి.
Host host-destination
Hostname 173.82.227.89
ProxyCommand ssh -q -W %h:%p host-jump
పొందుపరుచు మరియు నిష్క్రమించు.
ఇప్పుడు మీరు చేయాల్సిందల్లా రిమోట్ సర్వర్కు కనెక్ట్ చేయడానికి కింది ఆదేశాన్ని అమలు చేయడం.
$ ssh host-destination
ఈ గైడ్లో, ProxyJump మరియు ProxyCommand కమాండ్లు ఎలా పని చేస్తాయో మేము ప్రదర్శించాము. సాధారణంగా, ProxyJump ProxyCommandకి మెరుగైన ప్రత్యామ్నాయంగా వస్తుంది మరియు జంప్ హోస్ట్ ద్వారా రిమోట్ లక్ష్యానికి కనెక్ట్ చేయడానికి సులభమైన మరియు అతుకులు లేని మార్గాన్ని అందిస్తుంది.