ലിനക്സിൽ SSH ടണലിംഗ് അല്ലെങ്കിൽ പോർട്ട് ഫോർവേഡിംഗ് എങ്ങനെ സൃഷ്ടിക്കാം


SSH ടണലിംഗ് (SSH പോർട്ട് ഫോർവേഡിംഗ് എന്നും അറിയപ്പെടുന്നു) SSH വഴി പ്രാദേശിക നെറ്റ്uവർക്ക് ട്രാഫിക്കിനെ വിദൂര ഹോസ്റ്റുകളിലേക്ക് റൂട്ട് ചെയ്യുകയാണ്. എൻക്രിപ്ഷൻ ഉപയോഗിച്ച് നിങ്ങളുടെ എല്ലാ കണക്ഷനുകളും സുരക്ഷിതമാണെന്ന് ഇത് സൂചിപ്പിക്കുന്നു. ഇന്റർനെറ്റ് പോലുള്ള സുരക്ഷിതമല്ലാത്ത പൊതു നെറ്റ്uവർക്കുകളിൽ സ്വകാര്യ നെറ്റ്uവർക്കുകളിലേക്ക് കണക്റ്റുചെയ്യുന്നതിന് ഉപയോഗപ്രദമായ ഒരു അടിസ്ഥാന VPN (വെർച്വൽ പ്രൈവറ്റ് നെറ്റ്uവർക്ക്) സജ്ജീകരിക്കുന്നതിനുള്ള എളുപ്പവഴി ഇത് നൽകുന്നു.

ngrok-ൽ നടപ്പിലാക്കിയതുപോലെ സുരക്ഷിത തുരങ്കങ്ങളിലൂടെ NAT-കൾക്കും ഫയർവാളുകൾക്കും പിന്നിലെ പ്രാദേശിക സെർവറുകൾ ഇന്റർനെറ്റിലേക്ക് തുറന്നുകാട്ടാനും നിങ്ങൾ ഉപയോഗിച്ചേക്കാം.

[ നിങ്ങൾക്ക് ഇതും ഇഷ്ടപ്പെടാം: OpenSSH സെർവർ എങ്ങനെ സുരക്ഷിതമാക്കാം, കഠിനമാക്കാം ]

SSH സെഷനുകൾ ഡിഫോൾട്ടായി ടണലിംഗ് നെറ്റ്uവർക്ക് കണക്ഷനുകൾ അനുവദിക്കുന്നു, കൂടാതെ മൂന്ന് തരം SSH പോർട്ട് ഫോർവേഡിംഗ് ഉണ്ട്: ലോക്കൽ, റിമോട്ട്, ഡൈനാമിക് പോർട്ട് ഫോർവേഡിംഗ്.

ഈ ലേഖനത്തിൽ, എങ്ങനെ വേഗത്തിലും എളുപ്പത്തിലും SSH ടണലിംഗ് അല്ലെങ്കിൽ ലിനക്സിൽ വിവിധ തരത്തിലുള്ള പോർട്ട് ഫോർവേഡിംഗ് സജ്ജീകരിക്കാമെന്ന് ഞങ്ങൾ കാണിക്കും.

ഈ ലേഖനത്തിന്റെ ഉദ്ദേശ്യത്തിനായി, ഞങ്ങൾ ഇനിപ്പറയുന്ന സജ്ജീകരണം ഉപയോഗിക്കുന്നു:

  1. ലോക്കൽ ഹോസ്റ്റ്: 192.168.43.31
  2. റിമോട്ട് ഹോസ്റ്റ്: Linode CentOS 7 VPS, server1.example.com എന്ന ഹോസ്റ്റ്നാമം.

സാധാരണയായി, ഇനിപ്പറയുന്ന രീതിയിൽ SSH ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു റിമോട്ട് സെർവറിലേക്ക് സുരക്ഷിതമായി കണക്റ്റുചെയ്യാനാകും. ഈ ഉദാഹരണത്തിൽ, എന്റെ ലോക്കൽ, റിമോട്ട് ഹോസ്റ്റുകൾക്കിടയിൽ ഞാൻ പാസ്uവേഡ് രഹിത SSH ലോഗിൻ കോൺഫിഗർ ചെയ്തിട്ടുണ്ട്, അതിനാൽ ഇത് ഉപയോക്തൃ അഡ്മിന്റെ പാസ്uവേഡ് ആവശ്യപ്പെട്ടിട്ടില്ല.

$ ssh [email   

പ്രാദേശിക SSH പോർട്ട് ഫോർവേഡിംഗ്

ഇത്തരത്തിലുള്ള പോർട്ട് ഫോർവേഡിംഗ് നിങ്ങളുടെ ലോക്കൽ കമ്പ്യൂട്ടറിൽ നിന്ന് റിമോട്ട് സെർവറിലേക്ക് കണക്റ്റുചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു. നിങ്ങളുടെ റിമോട്ട് സെർവറിൽ പോർട്ട് 3000-ൽ പ്രവർത്തിക്കുന്ന ഒരു ആപ്ലിക്കേഷൻ ആക്uസസ് ചെയ്യുന്നതിൽ നിന്ന് നിങ്ങൾ ഒരു നിയന്ത്രിത ഫയർവാളിന് പിന്നിലാണെന്നോ ഔട്ട്uഗോയിംഗ് ഫയർവാൾ തടഞ്ഞുവെന്നോ കരുതുക.

നിങ്ങൾക്ക് ഒരു ലോക്കൽ പോർട്ട് ഫോർവേഡ് ചെയ്യാൻ കഴിയും (ഉദാ. 8080) അത് നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന രീതിയിൽ പ്രാദേശികമായി ആപ്ലിക്കേഷൻ ആക്സസ് ചെയ്യാൻ ഉപയോഗിക്കാം. -L ഫ്ലാഗ് റിമോട്ട് ഹോസ്റ്റിലേക്കും റിമോട്ട് പോർട്ടിലേക്കും ഫോർവേഡ് ചെയ്ത പോർട്ട് നിർവചിക്കുന്നു.

$ ssh [email  -L 8080:server1.example.com:3000

-N ഫ്ലാഗ് ചേർക്കുന്നത് ഒരു റിമോട്ട് കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യരുത് എന്നാണ്, ഈ സാഹചര്യത്തിൽ നിങ്ങൾക്ക് ഒരു ഷെൽ ലഭിക്കില്ല.

$ ssh -N [email  -L 8080:server1.example.com:3000

-f സ്വിച്ച് പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കാൻ ssh-നോട് നിർദ്ദേശിക്കുന്നു.

$ ssh -f -N [email  -L 8080:server1.example.com:3000

ഇപ്പോൾ, നിങ്ങളുടെ പ്രാദേശിക മെഷീനിൽ, server1.example.com:3000 എന്ന വിലാസം ഉപയോഗിച്ച് റിമോട്ട് ആപ്ലിക്കേഷൻ ആക്uസസ് ചെയ്യുന്നതിന് പകരം ഒരു ബ്രൗസർ തുറക്കുക, നിങ്ങൾക്ക് localhost:8080 അല്ലെങ്കിൽ 192.168.43.31: 8080, താഴെയുള്ള സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നത് പോലെ.

റിമോട്ട് SSH പോർട്ട് ഫോർവേഡിംഗ്

റിമോട്ട് പോർട്ട് ഫോർവേഡിംഗ് നിങ്ങളുടെ റിമോട്ട് മെഷീനിൽ നിന്ന് ലോക്കൽ കമ്പ്യൂട്ടറിലേക്ക് കണക്റ്റുചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഡിഫോൾട്ടായി, SSH റിമോട്ട് പോർട്ട് ഫോർവേഡിംഗ് അനുവദിക്കുന്നില്ല. റിമോട്ട് ഹോസ്റ്റിലെ നിങ്ങളുടെ SSHD പ്രധാന കോൺഫിഗറേഷൻ ഫയലായ /etc/ssh/sshd_config-ലെ ഗേറ്റ്uവേ പോർട്ട് നിർദ്ദേശം ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഇത് പ്രവർത്തനക്ഷമമാക്കാം.

നിങ്ങളുടെ പ്രിയപ്പെട്ട കമാൻഡ്-ലൈൻ എഡിറ്റർ ഉപയോഗിച്ച് എഡിറ്റുചെയ്യുന്നതിനായി ഫയൽ തുറക്കുക.

$ sudo vim /etc/ssh/sshd_config 

സ്uക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ആവശ്യമായ നിർദ്ദേശങ്ങൾക്കായി തിരയുക, അഭിപ്രായമിടാതിരിക്കുക, അതിന്റെ മൂല്യം അതെ ആയി സജ്ജമാക്കുക.

GatewayPorts yes

മാറ്റങ്ങൾ സംരക്ഷിച്ച് പുറത്തുകടക്കുക. അടുത്തതായി, നിങ്ങൾ അടുത്തിടെ വരുത്തിയ മാറ്റം പ്രയോഗിക്കാൻ sshd പുനരാരംഭിക്കേണ്ടതുണ്ട്.

$ sudo systemctl restart sshd
OR
$ sudo service sshd restart 

അടുത്തതായി റിമോട്ട് മെഷീനിൽ പോർട്ട് 5000 ഫോർവേഡ് ചെയ്യുന്നതിനായി താഴെ പറയുന്ന കമാൻഡ് ലോക്കൽ മെഷീനിൽ 3000 പോർട്ട് ചെയ്യുക.

$ ssh -f -N [email  -R 5000:localhost:3000

ഈ ടണലിംഗ് രീതി നിങ്ങൾ മനസ്സിലാക്കിക്കഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ഒരു പ്രാദേശിക ഡെവലപ്uമെന്റ് സെർവറിനെ, പ്രത്യേകിച്ച് NAT-കൾക്കും ഫയർവാളുകൾക്കും പിന്നിൽ, സുരക്ഷിത തുരങ്കങ്ങളിലൂടെ ഇന്റർനെറ്റിലേക്ക് എളുപ്പത്തിൽ സുരക്ഷിതമായി തുറന്നുകാട്ടാനാകും. എൻഗ്രോക്ക്, പേജ്കൈറ്റ്, ലോക്കൽ ടണൽ തുടങ്ങിയ തുരങ്കങ്ങളും മറ്റ് പലതും സമാനമായ രീതിയിൽ പ്രവർത്തിക്കുന്നു.

ഡൈനാമിക് എസ്എസ്എച്ച് പോർട്ട് ഫോർവേഡിംഗ്

ഇത് മൂന്നാമത്തെ തരം പോർട്ട് ഫോർവേഡിംഗ് ആണ്. ഒരൊറ്റ പോർട്ടുമായി ആശയവിനിമയം അനുവദിക്കുന്ന ലോക്കൽ, റിമോട്ട് പോർട്ട് ഫോർവേഡിംഗിൽ നിന്ന് വ്യത്യസ്തമായി, വിവിധ പോർട്ടുകളിലുടനീളമുള്ള TCP ആശയവിനിമയങ്ങളുടെ പൂർണ്ണ ശ്രേണി ഇത് സാധ്യമാക്കുന്നു. ഡൈനാമിക് പോർട്ട് ഫോർവേഡിംഗ് നിങ്ങളുടെ മെഷീനെ ഡിഫോൾട്ടായി പോർട്ട് 1080-ൽ ശ്രദ്ധിക്കുന്ന ഒരു സോക്സ് പ്രോക്സി സെർവറായി സജ്ജീകരിക്കുന്നു.

തുടക്കക്കാർക്കായി, ഒരു പ്രോക്uസി സെർവർ (ഈ സാഹചര്യത്തിൽ SSH) വഴി ഒരു ക്ലയന്റ് എങ്ങനെ സെർവറിലേക്ക് കണക്റ്റുചെയ്യാം എന്ന് നിർവചിക്കുന്ന ഒരു ഇന്റർനെറ്റ് പ്രോട്ടോക്കോൾ ആണ് SOCKS. -D ഓപ്ഷൻ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഡൈനാമിക് പോർട്ട് ഫോർവേഡിംഗ് പ്രവർത്തനക്ഷമമാക്കാം.

ഇനിപ്പറയുന്ന കമാൻഡ് പോർട്ട് 1080-ൽ ഒരു SOCKS പ്രോക്സി ആരംഭിക്കും, അത് നിങ്ങളെ റിമോട്ട് ഹോസ്റ്റിലേക്ക് കണക്റ്റുചെയ്യാൻ അനുവദിക്കുന്നു.

$ ssh -f -N -D 1080 [email 

ഇപ്പോൾ മുതൽ, നിങ്ങളുടെ മെഷീനിലെ ആപ്ലിക്കേഷനുകൾ ഈ SSH പ്രോക്സി സെർവർ ഉപയോഗിക്കുന്നതിന് അവയുടെ ക്രമീകരണങ്ങൾ എഡിറ്റ് ചെയ്ത് അവ ഉപയോഗിക്കുന്നതിന് കോൺഫിഗർ ചെയ്തുകൊണ്ട് നിങ്ങളുടെ റിമോട്ട് സെർവറിലേക്ക് കണക്റ്റുചെയ്യാനാകും. നിങ്ങളുടെ SSH സെഷൻ അവസാനിപ്പിച്ചതിന് ശേഷം SOCKS പ്രോക്സി പ്രവർത്തിക്കുന്നത് നിർത്തുമെന്ന് ശ്രദ്ധിക്കുക.

ഈ ലേഖനത്തിൽ, സുരക്ഷിതമായ SSH കണക്ഷനിലൂടെ ട്രാഫിക്ക് ടണൽ ചെയ്യുന്നതിനായി ഒരു മെഷീനിൽ നിന്ന് മറ്റൊന്നിലേക്ക് പോർട്ട് ഫോർവേഡ് ചെയ്യുന്ന വിവിധ തരം ഞങ്ങൾ വിശദീകരിച്ചു. SSH ന്റെ നിരവധി ഉപയോഗങ്ങളിൽ ഒന്നാണിത്. ചുവടെയുള്ള ഫീഡ്uബാക്ക് ഫോം വഴി ഈ ഗൈഡിലേക്ക് നിങ്ങളുടെ ശബ്ദം ചേർക്കാവുന്നതാണ്.

ശ്രദ്ധിക്കുക: SSH പോർട്ട് ഫോർവേഡിംഗിന് കാര്യമായ ദോഷങ്ങളുമുണ്ട്, അത് ദുരുപയോഗം ചെയ്യപ്പെടാം: നെറ്റ്uവർക്ക് നിരീക്ഷണവും ട്രാഫിക് ഫിൽട്ടറിംഗ് പ്രോഗ്രാമുകളും (അല്ലെങ്കിൽ ഫയർവാളുകൾ) മറികടക്കാൻ ഇത് ഉപയോഗിക്കാം. ആക്രമണകാരികൾക്ക് ഇത് ക്ഷുദ്രകരമായ പ്രവർത്തനങ്ങൾക്ക് ഉപയോഗിക്കാം. ഞങ്ങളുടെ അടുത്ത ലേഖനത്തിൽ, SSH ലോക്കൽ പോർട്ട് ഫോർവേഡിംഗ് എങ്ങനെ പ്രവർത്തനരഹിതമാക്കാമെന്ന് ഞങ്ങൾ കാണിക്കും. ബന്ധം നിലനിർത്തുക!