ഒരു ജമ്പ് ഹോസ്റ്റ് ഉപയോഗിച്ച് ഒരു റിമോട്ട് സെർവർ എങ്ങനെ ആക്സസ് ചെയ്യാം


ഒരു ജമ്പ് ഹോസ്റ്റ് (ജമ്പ് സെർവർ എന്നും അറിയപ്പെടുന്നു) ഒരു വിദൂര നെറ്റ്uവർക്കിലേക്കുള്ള ഒരു ഇടനില ഹോസ്റ്റ് അല്ലെങ്കിൽ ഒരു SSH ഗേറ്റ്uവേ ആണ്, അതിലൂടെ വ്യത്യസ്തമായ ഒരു സുരക്ഷാ സോണിലെ മറ്റൊരു ഹോസ്റ്റുമായി ഒരു കണക്ഷൻ ഉണ്ടാക്കാം, ഉദാഹരണത്തിന് ഒരു സൈനികവൽക്കരിക്കപ്പെട്ട മേഖല (DMZ). ഇത് രണ്ട് വ്യത്യസ്ത സുരക്ഷാ മേഖലകളെ ബന്ധിപ്പിക്കുകയും അവയ്ക്കിടയിൽ നിയന്ത്രിത പ്രവേശനം നൽകുകയും ചെയ്യുന്നു.

ഒരു സ്വകാര്യ നെറ്റ്uവർക്കിലും ഇന്റർനെറ്റിൽ ഉപയോക്താക്കൾക്ക് സേവനങ്ങൾ നൽകുന്ന സെർവറുകളുള്ള ഒരു DMZ-ലും വ്യാപിച്ചുകിടക്കുമ്പോൾ ഒരു ജമ്പ് ഹോസ്റ്റ് വളരെ സുരക്ഷിതവും നിരീക്ഷിക്കേണ്ടതുമാണ്.

നിങ്ങളുടെ കമ്പനിയുടെ ഇന്റേണൽ നെറ്റ്uവർക്കിനുള്ളിൽ നിന്ന് നിങ്ങളുടെ ഡെസ്uക്uടോപ്പിൽ നിന്നോ ലാപ്uടോപ്പിൽ നിന്നോ കണക്uറ്റ് ചെയ്യുന്നതാണ് ഒരു ക്ലാസിക് രംഗം, അത് ഫയർവാളുകൾ ഉപയോഗിച്ച് DMZ-ലേക്ക് വളരെ സുരക്ഷിതമാണ്. ഒരു DMZ-ൽ ഒരു സെർവർ എളുപ്പത്തിൽ നിയന്ത്രിക്കുന്നതിന്, ഒരു ജമ്പ് ഹോസ്റ്റ് വഴി നിങ്ങൾക്കത് ആക്സസ് ചെയ്യാം.

ഈ ലേഖനത്തിൽ, ഒരു ജമ്പ് ഹോസ്റ്റ് വഴി ഒരു റിമോട്ട് ലിനക്സ് സെർവർ എങ്ങനെ ആക്സസ് ചെയ്യാമെന്ന് ഞങ്ങൾ കാണിക്കും, കൂടാതെ നിങ്ങളുടെ ഓരോ ഉപയോക്താവിനും SSH ക്ലയന്റ് കോൺഫിഗറേഷനുകളിൽ ആവശ്യമായ ക്രമീകരണങ്ങൾ ഞങ്ങൾ ക്രമീകരിക്കുകയും ചെയ്യും.

ഇനിപ്പറയുന്ന സാഹചര്യം പരിഗണിക്കുക.

മുകളിലുള്ള സാഹചര്യത്തിൽ, നിങ്ങൾ HOST 2-ലേക്ക് കണക്റ്റുചെയ്യാൻ ആഗ്രഹിക്കുന്നു, എന്നാൽ ഫയർവാളിംഗ്, റൂട്ടിംഗ്, ആക്സസ് പ്രത്യേകാവകാശങ്ങൾ എന്നിവ കാരണം നിങ്ങൾ HOST 1-ലൂടെ പോകേണ്ടതുണ്ട്. ജമ്പ്uഹോസ്റ്റുകൾ ആവശ്യമായി വരുന്നതിന് സാധുവായ നിരവധി കാരണങ്ങളുണ്ട്.

ഡൈനാമിക് ജംഫോസ്റ്റ് ലിസ്റ്റ്

ഒരു ജമ്പ് ഹോസ്റ്റ് വഴി ഒരു ടാർഗെറ്റ് സെർവറിലേക്ക് കണക്റ്റുചെയ്യുന്നതിനുള്ള ഏറ്റവും ലളിതമായ മാർഗം കമാൻഡ് ലൈനിൽ നിന്ന് -J ഫ്ലാഗ് ഉപയോഗിക്കുന്നു. ജമ്പ് ഹോസ്റ്റിലേക്ക് ഒരു കണക്ഷൻ ഉണ്ടാക്കാൻ ഇത് ssh-നോട് പറയുന്നു, തുടർന്ന് ടാർഗെറ്റ് സെർവറിലേക്ക് ഒരു TCP ഫോർവേഡിംഗ് സ്ഥാപിക്കുക, അവിടെ നിന്ന് (നിങ്ങൾക്ക് മെഷീനുകൾക്കിടയിൽ പാസ്uവേഡ് ഇല്ലാത്ത SSH ലോഗിൻ ഉണ്ടെന്ന് ഉറപ്പാക്കുക).

$ ssh -J host1 host2

മെഷീനുകളിലെ ഉപയോക്തൃനാമങ്ങളോ പോർട്ടുകളോ വ്യത്യസ്തമാണെങ്കിൽ, കാണിച്ചിരിക്കുന്നതുപോലെ ടെർമിനലിൽ അവ വ്യക്തമാക്കുക.

$ ssh -J [email :port [email :port	  

ഒന്നിലധികം ജംഫോസ്റ്റുകളുടെ ലിസ്റ്റ്

ഒന്നിലധികം സെർവറുകളിൽ ചാടാൻ ഒരേ വാക്യഘടന ഉപയോഗിക്കാം.

$ ssh -J [email :port,[email :port [email :port

സ്റ്റാറ്റിക് ജംഫോസ്റ്റ് ലിസ്റ്റ്

സ്റ്റാറ്റിക് ജമ്പ്uഹോസ്റ്റ് ലിസ്റ്റ് അർത്ഥമാക്കുന്നത്, നിങ്ങൾക്ക് ഒരു മെഷീൻ കണക്റ്റുചെയ്യേണ്ട ജമ്പ്uഹോസ്uറ്റോ ജമ്പ്uഹോസ്റ്റുകളോ അറിയാമെന്നാണ്. അതിനാൽ നിങ്ങൾ ~/.ssh/config ഫയലിൽ ഇനിപ്പറയുന്ന സ്റ്റാറ്റിക് ജമ്പ്uഹോസ്റ്റ് 'റൂട്ടിംഗ്' ചേർക്കുകയും കാണിച്ചിരിക്കുന്നതുപോലെ ഹോസ്റ്റ് അപരനാമങ്ങൾ വ്യക്തമാക്കുകയും വേണം.

### First jumphost. Directly reachable
Host vps1
  HostName vps1.example.org

### Host to jump to via jumphost1.example.org
Host contabo
  HostName contabo.example.org
  ProxyJump vps1

ഇപ്പോൾ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു ജമ്പ് ഹോസ്റ്റ് വഴി ഒരു ടാർഗെറ്റ് സെർവറിലേക്ക് കണക്റ്റുചെയ്യാൻ ശ്രമിക്കുക.

$ ssh -J vps1 contabo

നിങ്ങളുടെ ~.ssh/config അല്ലെങ്കിൽ $HOME/.ssh/config ഫയലിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ജമ്പ്ഹോസ്റ്റ് കോൺഫിഗറേഷൻ ചേർക്കാൻ ProxyCommand ഓപ്ഷൻ ഉപയോഗിക്കുന്നതാണ് രണ്ടാമത്തെ രീതി.

ഈ ഉദാഹരണത്തിൽ, ടാർഗെറ്റ് ഹോസ്റ്റ് contabo ആണ്, ജമ്പ്ഹോസ്റ്റ് vps1 ആണ്.

Host vps1
	HostName vps1.example.org
	IdentityFile ~/.ssh/vps1.pem
	User ec2-user

Host contabo
	HostName contabo.example.org	
	IdentityFile ~/.ssh/contabovps
	Port 22
	User admin	
	Proxy Command ssh -q -W %h:%p vps1

ഇവിടെ Proxy Command ssh -q -W %h:%p vps1 എന്ന കമാൻഡ് അർത്ഥമാക്കുന്നത് നിശബ്ദ മോഡിലും (-q ഉപയോഗിച്ച്) stdio ഫോർവേഡിംഗിലും (-W) മോഡ്, ഒരു ഇന്റർമീഡിയറ്റ് ഹോസ്റ്റ് (vps1) വഴി കണക്ഷൻ റീഡയറക്ട് ചെയ്യുക.

തുടർന്ന് കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങളുടെ ടാർഗെറ്റ് ഹോസ്റ്റ് ആക്സസ് ചെയ്യാൻ ശ്രമിക്കുക.

$ ssh contabo

മുകളിലെ കമാൻഡ് ആദ്യം പ്രോക്uസികമാൻഡ് പ്രാബല്യത്തിൽ വരുന്ന പശ്ചാത്തലത്തിൽ vps1-ലേക്ക് ഒരു ssh കണക്ഷൻ തുറക്കും, അതിനുശേഷം ടാർഗെറ്റ് സെർവർ കോൺടാക്uബോയിലേക്ക് ssh സെഷൻ ആരംഭിക്കും.

കൂടുതൽ വിവരങ്ങൾക്ക്, ssh മാൻ പേജ് കാണുക അല്ലെങ്കിൽ റഫർ ചെയ്യുക: OpenSSH/Cookbxook/Proxies, Jump Hosts.

ഇപ്പോഴത്തേക്ക് ഇത്രമാത്രം! ഈ ലേഖനത്തിൽ, ഒരു ജമ്പ് ഹോസ്റ്റ് വഴി ഒരു റിമോട്ട് സെർവർ എങ്ങനെ ആക്സസ് ചെയ്യാമെന്ന് ഞങ്ങൾ തെളിയിച്ചിട്ടുണ്ട്. എന്തെങ്കിലും ചോദ്യങ്ങൾ ചോദിക്കാനോ നിങ്ങളുടെ ചിന്തകൾ ഞങ്ങളുമായി പങ്കിടാനോ ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം ഉപയോഗിക്കുക.