ലിനക്സിൽ OpenSSH സെർവർ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യാം


ഒരു നെറ്റ്uവർക്ക് അഡ്uമിനിസ്uട്രേറ്റർ ആകുന്നതിന് rlogin, telnet, ssh പോലുള്ള റിമോട്ട് ലോഗിൻ പ്രോട്ടോക്കോളുകളെ കുറിച്ച് ആഴത്തിലുള്ള അറിവ് ആവശ്യമാണ്. ഈ ലേഖനത്തിൽ ഞാൻ ചർച്ച ചെയ്യുന്ന ഒന്ന്, SCP (Secure Copy) കമാൻഡ് ഉപയോഗിച്ച് മറ്റ് മെഷീനുകളിൽ വിദൂരമായി പ്രവർത്തിക്കാനോ കമ്പ്യൂട്ടറുകൾക്കിടയിൽ ഡാറ്റ കൈമാറാനോ ഉപയോഗിക്കുന്ന ഒരു സുരക്ഷിത വിദൂര പ്രോട്ടോക്കോൾ ആയ ssh ആണ്. പക്ഷേ, എന്താണ് OpenSSH, അത് നിങ്ങളുടെ ലിനക്സ് വിതരണത്തിൽ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം?

എന്താണ് OpenSSH?

ssh പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് കമ്പ്യൂട്ടർ നെറ്റ്uവർക്കിൽ സുരക്ഷിതവും എൻക്രിപ്റ്റ് ചെയ്തതുമായ ആശയവിനിമയം നൽകുന്നതിന് ഉപയോഗിക്കുന്ന കമ്പ്യൂട്ടർ ടൂളുകളുടെ ഒരു സ്വതന്ത്ര ഓപ്പൺ സോഴ്uസ് സെറ്റാണ് OpenSSH. കമ്പ്യൂട്ടറുകളിലും പ്രോട്ടോക്കോളുകളിലും പുതിയതായി പലരും, OpenSSH-നെ കുറിച്ച് ഒരു തെറ്റിദ്ധാരണ സൃഷ്ടിക്കുന്നു, അവർ ഇത് ഒരു പ്രോട്ടോക്കോൾ ആണെന്ന് കരുതുന്നു, പക്ഷേ അത് അങ്ങനെയല്ല, ഇത് ssh പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്ന കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകളുടെ ഒരു കൂട്ടമാണ്.

ഓപ്പൺ എസ്എസ്എച്ച് വികസിപ്പിച്ചെടുത്തത് ഓപ്പൺ ബിഎസ്ഡി ഗ്രൂപ്പാണ്, ഇത് ലളിതമാക്കിയ ബിഎസ്ഡി ലൈസൻസിന് കീഴിൽ പുറത്തിറക്കുന്നു. സിസ്റ്റം അഡ്uമിനിസ്uട്രേറ്റർമാർക്കിടയിൽ ഓപ്പൺഎസ്uഎസ്uഎച്ചിനെ ഇത്രയധികം ഉപയോഗിക്കുന്നത് സാധ്യമാക്കിയ ഒരു പ്രധാന ഘടകം അതിന്റെ മൾട്ടി-പ്ലാറ്റ്uഫോം ശേഷിയും അതിനുള്ള വളരെ ഉപയോഗപ്രദമായ നല്ല സവിശേഷതകളുമാണ്. 2013 നവംബർ 8-ന് പുറത്തിറങ്ങിയ OpenSSH 6.4 ആണ് ഏറ്റവും പുതിയ പതിപ്പ്.

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

എന്തുകൊണ്ടാണ് ഓപ്പൺഎസ്എസ്എച്ച് കൂടാതെ ടെൽനെറ്റ് അല്ലെങ്കിൽ എഫ്ടിപി ഉപയോഗിക്കുന്നത്?

ftp-ലും ടെൽനെറ്റിലും ഓപ്പൺഎസ്എസ്എച്ച് ടൂളുകൾ ഉപയോഗിക്കേണ്ടതിന്റെ ഏറ്റവും പ്രധാനപ്പെട്ട കാരണം, OpenSSH ഉപയോഗിക്കുന്ന എല്ലാ ആശയവിനിമയങ്ങളും ഉപയോക്തൃ ക്രെഡൻഷ്യലുകളും എൻക്രിപ്റ്റുചെയ്uതതാണ്, അവ മധ്യ ആക്രമണങ്ങളിൽ മനുഷ്യനിൽ നിന്നും സംരക്ഷിക്കപ്പെടുന്നു എന്നതാണ്. ഒരു മൂന്നാം കക്ഷി നിങ്ങളുടെ കണക്ഷൻ തടസ്സപ്പെടുത്താൻ ശ്രമിക്കുകയാണെങ്കിൽ, OpenSSH അത് കണ്ടെത്തുകയും അതിനെക്കുറിച്ച് നിങ്ങളെ അറിയിക്കുകയും ചെയ്യുന്നു.

OpenSSH ഫീച്ചറുകളിൽ ചിലത് എന്തൊക്കെയാണ്?

  1. സുരക്ഷിത ആശയവിനിമയം
  2. ശക്തമായ എൻക്രിപ്ഷൻ (3DES, Blowfish, AES, Arcfour)
  3. X11 ഫോർവേഡിംഗ് (എൻക്രിപ്റ്റ് എക്സ് വിൻഡോ സിസ്റ്റം ട്രാഫിക്)
  4. പോർട്ട് ഫോർവേഡിംഗ് (ലെഗസി പ്രോട്ടോക്കോളുകൾക്കുള്ള എൻക്രിപ്റ്റ് ചെയ്ത ചാനലുകൾ)
  5. ശക്തമായ പ്രാമാണീകരണം (പബ്ലിക് കീ, ഒറ്റത്തവണ പാസ്uവേഡ്, കെർബറോസ് പ്രാമാണീകരണം)
  6. ഏജന്റ് ഫോർവേഡിംഗ് (സിംഗിൾ-സൈൻ-ഓൺ)
  7. ഇന്റർഓപ്പറബിളിറ്റി (SSH 1.3, 1.5, 2.0 പ്രോട്ടോക്കോൾ മാനദണ്ഡങ്ങൾ പാലിക്കൽ)
  8. SSH1, SSH2 പ്രോട്ടോക്കോളുകളിൽ SFTP ക്ലയന്റും സെർവർ പിന്തുണയും.
  9. കെർബറോസും AFS ടിക്കറ്റും പാസിംഗ്
  10. ഡാറ്റ കംപ്രഷൻ

ലിനക്സിൽ OpenSSH-ന്റെ ഇൻസ്റ്റാളേഷൻ

OpenSSH ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, ഒരു ടെർമിനൽ തുറന്ന് സൂപ്പർ യൂസർ അനുമതികളോടെ താഴെ പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക.

$ sudo apt-get install openssh-server openssh-client

openssh ക്ലയന്റും സെർവറും ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് ഇനിപ്പറയുന്ന yum കമാൻഡ് ടൈപ്പ് ചെയ്യുക.

# yum -y install openssh-server openssh-clients

OpenSSH-ന്റെ കോൺഫിഗറേഷൻ

ssh കോൺഫിഗറേഷൻ ഫയലിലൂടെ ഞങ്ങളുടെ OpenSSH സ്വഭാവം ക്രമീകരിക്കാനുള്ള സമയമാണിത്, എന്നാൽ /etc/ssh/sshd_config ഫയൽ എഡിറ്റുചെയ്യുന്നതിന് മുമ്പ് അതിന്റെ ഒരു പകർപ്പ് ബാക്കപ്പ് ചെയ്യേണ്ടതുണ്ട്, അതിനാൽ എന്തെങ്കിലും തെറ്റ് സംഭവിച്ചാൽ യഥാർത്ഥ പകർപ്പ് ഞങ്ങളുടെ പക്കലുണ്ട്.

ഒരു ടെർമിനൽ തുറന്ന് യഥാർത്ഥ sshd കോൺഫിഗറേഷൻ ഫയലിന്റെ ഒരു പകർപ്പ് ഉണ്ടാക്കാൻ താഴെ പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.original_copy

ഞാൻ ടൈപ്പ് ചെയ്ത കമാൻഡിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഞാൻ ഒറിജിനൽ_കോപ്പി സഫിക്സ് ചേർത്തിട്ടുണ്ട്, അതിനാൽ ഈ ഫയൽ കാണുമ്പോഴെല്ലാം ഇത് sshd കോൺഫിഗറേഷൻ ഫയലിന്റെ യഥാർത്ഥ പകർപ്പാണെന്ന് എനിക്കറിയാം.

OpenSSH-ലേക്ക് ഞാൻ എങ്ങനെ ബന്ധിപ്പിക്കും

ഞങ്ങൾ കൂടുതൽ മുന്നോട്ട് പോകുന്നതിന് മുമ്പ്, ഞങ്ങളുടെ openssh സെർവർ പ്രവർത്തിക്കുന്നുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കേണ്ടതുണ്ട്. അതെങ്ങനെ ചെയ്യാം? നിങ്ങളുടെ openssh ക്ലയന്റ് വഴി നിങ്ങളുടെ ലോക്കൽ ഹോസ്റ്റിൽ നിന്ന് openssh സെർവറിലേക്ക് കണക്റ്റുചെയ്യാനോ nmap ഉപയോഗിച്ച് ഒരു പോർട്ട്uസ്uകാൻ ചെയ്യാനോ നിങ്ങൾക്ക് ശ്രമിക്കാം, പക്ഷേ TCP/IP സ്വിസ് ആർമി കത്തി എന്നറിയപ്പെടുന്ന നെറ്റ്uകാറ്റ് എന്ന ചെറിയ ടൂൾ ഉപയോഗിക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു. എന്റെ മെഷീനിൽ ഈ അത്ഭുതകരമായ ഉപകരണം ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നത് ഞാൻ ഇഷ്ടപ്പെടുന്നു, അതിനാൽ ഞാൻ ഇത് നിങ്ങൾക്ക് കാണിച്ചുതരാം.

# nc -v -z 127.0.0.1 22

നെറ്റ്കാറ്റ് ഫലങ്ങൾ പരാമർശിച്ച്, എന്റെ മെഷീനിൽ പോർട്ട് 22-ൽ ssh സേവനം പ്രവർത്തിക്കുന്നു. വളരെ നല്ലത്! 22-ന് പകരം മറ്റൊരു പോർട്ട് ഉപയോഗിക്കണമെങ്കിൽ? sshd കോൺഫിഗറേഷൻ ഫയൽ എഡിറ്റ് ചെയ്തുകൊണ്ട് നമുക്ക് അത് ചെയ്യാൻ കഴിയും.

ഡിഫോൾട്ട് TCP പോർട്ട് 22-ന് പകരം TCP പോർട്ട് 13-ൽ കേൾക്കാൻ നിങ്ങളുടെ OpenSSH സജ്ജമാക്കുക. നിങ്ങളുടെ പ്രിയപ്പെട്ട ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിച്ച് sshd_config ഫയൽ തുറന്ന് പോർട്ട് നിർദ്ദേശം 13-ലേക്ക് മാറ്റുക.

# What ports, IPs and protocols we listen for
Port 13

ഓപ്പൺഎസ്എസ്എച്ച് സെർവർ പുനരാരംഭിക്കുന്നതിലൂടെ കോൺഫിഗറേഷൻ ഫയലിലെ മാറ്റങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പുചെയ്uത്, നിങ്ങൾ കേൾക്കുന്നതിനായി സജ്ജമാക്കിയ പോർട്ട് തുറന്നിട്ടുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കാൻ നെറ്റ്uകാറ്റ് പ്രവർത്തിപ്പിക്കുക.

$ sudo /etc/init.d/ssh restart

ഞങ്ങളുടെ openssh സെർവർ പോർട്ട് 13-ൽ ശ്രവിക്കുന്നുണ്ടോ ഇല്ലയോ എന്ന് പരിശോധിക്കേണ്ടതുണ്ടോ?. ഈ സ്ഥിരീകരണം ആവശ്യമാണ്, അതിനാൽ ജോലി ചെയ്യാൻ എന്നെ സഹായിക്കാൻ ഞാൻ എന്റെ മനോഹരമായ ടൂൾ നെറ്റ്കാറ്റിനെ വിളിക്കുന്നു.

# nc -v -z 127.0.0.1 13

നിങ്ങളുടെ openssh സെർവർ ഡിസ്പ്ലേ ഒരു നല്ല ലോഗിൻ ബാനർ ആക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ? /etc/issue.net ഫയലിന്റെ ഉള്ളടക്കം പരിഷ്കരിച്ച് sshd കോൺഫിഗറേഷൻ ഫയലിനുള്ളിൽ ഇനിപ്പറയുന്ന വരി ചേർത്തുകൊണ്ട് നിങ്ങൾക്കത് ചെയ്യാൻ കഴിയും.

Banner /etc/issue.net

ഉപസംഹാരം

നിങ്ങളുടെ openssh സെർവർ കോൺഫിഗർ ചെയ്യുന്ന രീതിയിലേക്ക് വരുമ്പോൾ openssh ടൂളുകൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ചെയ്യാൻ കഴിയുന്ന നിരവധി കാര്യങ്ങളുണ്ട്, നിങ്ങളുടെ ഭാവനയാണ് പരിധി എന്ന് എനിക്ക് പറയാൻ കഴിയും!.

ഇതും വായിക്കുക: OpenSSH സെർവർ സുരക്ഷിതമാക്കുന്നതിനും പരിരക്ഷിക്കുന്നതിനുമുള്ള 5 മികച്ച സമ്പ്രദായങ്ങൾ