SSH කියන්නේ මොකක්ද ?
SSH හෝ Secure Shell එහෙමත් නැත්නම් Secure Socket Shell කියන්නේ network protocol එකක්. මේක අපිට ආරක්ෂිතව remote machines වලට login වෙන්න උදවු වෙනවා (ගොඩක් වෙලාටව දුරස්ථ පරිගණක වලට ඇතුල් වීමට).
හොද encryption එකක් එක්ක දුරස්ථ පරිගණක කළමනාකරණය කරගන්න පුළුවන් විධාන ක්රියාත්මක කිරීම සහ ගොනු හුවමාරු කිරීම යනාදිය දේවල් වලට.
SSH අවශ්යතාවය
SSH නිර්මාණය කරන්නේ 1995 වර්ෂයේ rlogin, rsh, Telnet වගේ protocols වල තිබ්බ අනාරක්ෂිතකම හේතුවෙන්.
දැන් Telnet ගැන කතා කරමු, 1969 වර්ෂයේ නිර්මාණය කරණලද Teletype Network. එය දුරස්ථ පරිගණකයකට (ලෝකයේ ඕනෑම තැනක පිහිටා ඇති) ප්රවේශ වීමට අපගේ පරිගණකයේ ක්රියාත්මක වන සරල විධාන රේඛා මෙවලමක්. ලෝකයේ කොහේ හෝ තිබෙන පරිගණකය ළග ඉන්නවා මෙන් එම දුරස්ථ පරිගණක ක්රියාත්මක කිරීමට විධාන ලබාදීමට හැකියව ලැබෙනවා,Telnet ජාලයක් හරහා සරල අකුරුවලින් පණිවිඩ සම්ප්රේෂණය කර ලබා ගනී(plain text).
ක්රියාත්මක කරන විධාන වැඩසටහන් ක්රියාත්මක කිරීම, නාමාවලි සෑදීම, ගොනු සෑදීම/මැකීම/මාරු කිරීම, සේවා ආරම්භ කිරීම/නැවැත්වීම යනාදිය විය හැක.
Telnet මගින් දුරස්ථ පරිගණකයකට සම්බන්ධ වීමේදී ගැටලුව වන්නේ,සම්ප්රේෂණය වන දත්ත බොහෝ ජාල හරහා ගමන් කිරීම. මේ අතර,ඒවායින් සමහරක් අනාරක්ෂිත විය හැකි අතර,සම්ප්රේෂණය වන දත්තවලට බාධා කළ හැකිය, අපේක්ෂිත දුරස්ථ පරිගණක ඉලක්කය වෙත ළඟා වීමට පෙර එය වෙනස් කළ හැකිය.
ආරක්ෂාව එතරම් වැදගත් නොවූ මුල් කාලයේ,සියලුම සන්නිවේදනයන් සරල අකුරුවලින් (plain text) සිදු වේ. එබැවින්, දුරස්ථ පරිගණක සහ දුරස්ථ පරිගණකයට සම්බන්ධ වෙන පුද්ගලයා අතර අන්තර්ජාලය හරහා සම්ප්රේෂණය වන දත්ත පහසුවෙන් ග්රහණය කර ගත හැක. පණිවිඩ සංකේතනය කර නොමැති බැවින් එය කියවිය හැකිය(encrypted වීමක් සිදු වී නොමැති නිසා).
එබැවින්, සරල අකුරු ප්රොටෝකෝලය (plain text protocols) අතිශයින් අනාරක්ෂිත වන අතර මුරපද, රහස් යනාදී සංවේදී දත්ත සම්ප්රේෂණය සඳහා කිසි විටෙක භාවිතා නොකෙරේ. එබැවින්, දුරස්ථ ප්රවේශ ජාල ප්රොටෝකෝල (legacy remote access network protocols) සඳහා ආරක්ෂිත විකල්පයක් ලෙස SSH සැලකේ.
එය ක්රියා කරන්නේ කෙසේද?
දුරස්ථ පරිගණක සහ දුරස්ථ පරිගණකයට සම්බන්ධ වෙන පුද්ගලයා අතර ආරක්ෂිත සන්නිවේදන ක්රමයක් පවත්වාගෙන යාමට client-server model හෝ එහෙමත් නැත්නම් client-server architecture භාවිතා කරන ලදී. (client-server architecture යනු සේවාවක් සපයන්නන් සහ සේවාලාභීන් ලෙස හඳුන්වන සේවා ඉල්ලන්නන් අතර කාර්යයන් බෙදා හරින ලද යෙදුම් ව්යුහයකි.) ssh සේවාදායකය සම්මත TCP port 22 ට සවන් දෙයි (SSH TCP port 22 වෙනස් කරගන්න විදිහ ගැන ලිපියක් ලියන්නම් මේක වෙනස් කරගන්න එක ගොඩක් වටිනවා Server Security එකට).
සේවාලාභියා සහ සේවාදායකය (සේවාලාභියා සහ සේවාදායකය තේරෙන්නේ නැ වගේ නම් මෙහෙම හිතාගන්නා ඔයා සහ VPS එක 🙂 VPS එකක් කියන්නේ මොකක්ද කියල දන්නේ නැත්නම් – දුරස්ථ පරිගණකය )අතර සත්යාපනය(Authentication) කිරීමට public-key cryptography තාක්ෂණයක් භාවිතා කරයි.මීට අමතරව,ප්රොටෝකෝලය පුද්ගලිකත්වය සහ දත්ත අඛණ්ඩතාව සහතික කිරීම සඳහා සේවාදායකයා සහ සේවාදායකය අතර පණිවිඩ හුවමාරු කිරීම සඳහා ශක්තිමත් සමමිතික සංකේතනය සහ හැෂිං ඇල්ගොරිතම භාවිතා කරයි (strong symmetric encryption & hashing algorithms).

Linux යනු එහි ආරක්ෂාව සහ කල්පැවැත්ම නිසා දුරස්ථ සේවාදායකයන් (දුරස්ථ පරිගණකයන්) සඳහා බහුලව භාවිතා වන මෙහෙයුම් පද්ධතියයි. අන්තර්ජාලයේ ලිනක්ස් මෙහෙයුම් පද්ධතිය භාවිතා කරන බොහෝ සේවාදායකයන් බොහෝ අසාර්ථකත්වයන් හෝ නැවත ආරම්භ කිරීමකින් තොරව වසර ගණනාවක් ක්රියාත්මක වේ.
බොහෝ SSH සැසිවල (අපි දුරස්ථ සේවාදායකයට ප්රවේශ වන කාල පරිච්ඡේදයක්) ඇත්තේ පහත මෙහෙයුම් දෙක පමණි:
- Authentication
- Command Execution
SSH සේවාදායකයන්ට විවිධ ක්රම භාවිතා කරමින් සේවාලාභීන් සත්යාපනය කළ හැක.
සහ ජනප්රිය ක්රම දෙක වන්නේ:
- Password-based
- Key-based
මුරපදය පදනම් කරගත් සත්යාපනය (Password-based authentication) OpenSSH ස්ථාපිත සේවාලාභීන් සඳහා සත්යාපනය සඳහා භාවිතා කරන පෙරනිමි ක්රමයයි(default method). එය වඩාත්ම මූලික ssh සත්යාපනය වන නමුත් වඩාත්ම ආරක්ෂිත එකක් නොවේ.
මුරපද ආරක්ෂිතව සේවාදායකය වෙත යවනු ලැබුවද, නවීන බෲට් බල ප්රහාර සත්යාපනය මග හැරිය හැක(brute force attacks මම මේක ගැන ඉදිරියට ලිපියක් දාන්නම්).
යතුරු මත පදනම් වූ සත්යාපනය (Key-based authentication) SSH යතුරු යුගල උත්පාදනය කිරීමෙන් පද්ධති ආරක්ෂාව තව දුරටත් වැඩි දියුණු කරයි, එය විශ්වාසදායක සහ ආරක්ෂිත විකල්පයක් බව ඔප්පු කරයි.
සේවාදායකය සහ සේවාදායකයා සාර්ථකව සත්යාපනය කළ පසු, ඔවුන් අතර ආරක්ෂිත සම්බන්ධතාවයක් ස්ථාපිත වේ.
Key-based authentication එකක් VPS වලට හදාගන්න විදිහ
නිගමනය
SSH ජනප්රිය වීමට ප්රධාන හේතුව සේවාදායකය සහ සේවාදායකයා අතර සම්පූර්ණ සන්නිවේදනය සංකේතනය(Encryption) කර තිබීමයි.
බොහෝ අය ssh භාවිතා කිරීම සංකීර්ණ යැයි උපකල්පනය කරන අතර එය ක්රියා කරන ආකාරය පිළිබඳ දැනුම ලබා ගැනීම පහසුවෙන් තේරුම් ගත නොහැකි නමුත් එය ඔබ සිතනවාට වඩා සරල ය. දැන් ඔබට SSH, එය ක්රියා කරන ආකාරය, එය පිටුපස ඇති ආරක්ෂක අංශ සහ එය සන්නිවේදනයේ වැදගත් කාර්යභාරයක් ඉටු කරන්නේ මන්දැයි මූලික අවබෝධයක් ඇත.
ලිපියේ ගැටළු තියෙනවා නම් comment කරන්න යාලුවටත් අලුත් දෙයක් ඉගනගන්න ලිපිය බෙදාගන්න.
Files:
Unofficial SSH Logo.svg – https://commons.wikimedia.org/wiki/File:Unofficial_SSH_Logo.svg
Desktop Computer Icon – http://www.stickpng.com/img/electronics/computer-pcs/desktop-computer-icon
Raid server icon – https://www.clipartmax.com/middle/m2i8H7Z5K9G6m2b1_raid-server-icon/