- 1 1. හැඳින්වීම
- 2 2. SSH හි මූලික සංකල්ප
- 3 3. Ubuntu හි SSH සර්වර් ස්ථාපනය කිරීම
- 4 4. SSH සම්බන්ධතා සැකසීම
- 5 5. SSH සම්බන්ධතා ක්රියාත්මක කිරීම
- 6 6. SSH සම්බන්ධතා ගැටළු නිරාකරණය
- 7 7. SSH ආරක්ෂාව වැඩිදියුණු කිරීම
- 8 8. නිතර අසන ප්රශ්න (FAQ)
- 8.1 ප්ර.1: SSH “Connection refused” යන පණිවුඩය පෙන්වන්නේ ඇයි?
- 8.2 ප්ර.2: පෙරනිමි SSH පෝට් එක කෙසේ වෙනස් කරන්නේද?
- 8.3 ප්ර.3: පොදු යතුරු ප්රමාණය ක්රියා නොකරන්නේ නම් මොනවා පරීක්ෂා කළ යුතුද?
- 8.4 ප්ර.4: නියමිත IP ලිපින වලින් පමණක් SSH ප්රවේශය ලබා දීමට කෙසේද?
- 8.5 ප්ර.5: SSH සැසිය කාලය (timeout) කෙසේ වෙනස් කරන්නේද?
- 8.6 සාරාංශය
- 9 9. නිගමනය
1. හැඳින්වීම
Ubuntu හි SSH භාවිතා කිරීමෙන්, ඔබට සුරක්ෂිත ලෙස සර්වර් හෝ පරිගණක දුරස්ථව ප්රවේශ වීමට සහ ක්රියාත්මක කිරීමට හැකිය. මෙම ලිපිය SSH පිළිබඳ විස්තරාත්මක විස්තරයක් ලබා දෙයි—එහි මූලික සංකල්ප, Ubuntu හි SSH සර්වර් ස්ථාපනය කිරීම, ආරක්ෂක හොඳ පුරුදු ක්රම සහ ගැටළු විසඳීම—ආරම්භකයන්ටත් සුදුසු පැහැදිලි විස්තර සමඟ.
SSH යනු කුමක්ද?
SSH (Secure Shell) යනු ජාලයක් මඟින් පරිගණක වෙත සුරක්ෂිත දුරස්ථ සම්බන්ධතා ලබා දෙන ප්රොටෝකෝලයක් වේ. Telnet හෝ FTP වැනි සාම්ප්රදායික ප්රොටෝකෝල වලට වඩා, SSH සන්නිවේදන දත්ත සංකේතනය කරයි, එමඟින් අසාධාරණ ඇසීම සහ වෙනස් කිරීමේ අවදානම ගණනාවක් අඩු කරයි.
Ubuntu හි SSH හි ප්රධාන භාවිතා අවස්ථා
Ubuntu හි SSH භාවිතා වන ප්රධාන අවස්ථා පහත පරිදි වේ:
- දුරස්ථ සර්වර් කළමනාකරණය : දුරස්ථ ස්ථානවලින් Ubuntu සර්වර් ක්රියාත්මක කිරීම
- ගොනු හුවමාරු : SCP හෝ SFTP භාවිතා කර ගොනු ආරක්ෂිතව හුවමාරු කිරීම
- පෝට් ඉදිරිපත් කිරීම : සුරක්ෂිත දුරස්ථ සම්බන්ධතා ස්ථාපනය කිරීම
ඔබ මෙම ලිපියෙන් ඉගෙන ගන්නා දේ
- SSH හි මූලික සංකල්ප සහ ක්රියාකාරකම්
- Ubuntu හි SSH සර්වර් ස්ථාපනය කරන ආකාරය
- SSH සම්බන්ධතා සැකසීම සහ දෝෂ නිරාකරණය කරන ආකාරය
- SSH සඳහා ආරක්ෂක හොඳ පුරුදු ක්රම
2. SSH හි මූලික සංකල්ප
SSH කාර්යක්ෂමව භාවිතා කිරීමට, එහි මූලික සංකල්ප අවබෝධ කර ගැනීම අත්යවශ්ය වේ. මෙම පරිච්ඡේදයේ, SSH කෙසේ ක්රියා කරයි සහ සත්යාපන ක්රම අතර වෙනස්කම් පැහැදිලි කරමු.
SSH කෙසේ ක්රියා කරයි
SSH යනු ගනුදෙනුකරු (client) සහ සර්වර් අතර සුරක්ෂිත සම්බන්ධතාවක් ස්ථාපනය කරන ප්රොටෝකෝලයකි. පෙරනිමි ලෙස, එය සංකේතනය කළ සන්නිවේදනය සඳහා TCP පෝට් 22 භාවිතා කරයි.
ප්රධාන විශේෂාංග
- දුරස්ථ ලොග් ඉන් : සර්වර් එකක නියෝග ක්රියාත්මක කිරීම
- ගොනු හුවමාරු : SCP හෝ SFTP මඟින් දත්ත ආරක්ෂිතව යැවීම
- පෝට් ඉදිරිපත් කිරීම : SSH මඟින් අනෙකුත් සේවාවන්ට සම්බන්ධ වීම
SSH සත්යාපන ක්රම
SSH ප්රධාන වශයෙන් දෙකක් සත්යාපන ක්රම ලබා දෙයි:
මුරපද සත්යාපනය
- පරිශීලක නාමය සහ මුරපදය භාවිතා කර ලොග් ඉන් වීම
- සරල, නමුත් brute-force ප්රහාර වලට සම්පූර්ණයෙන් පීඩිත
පොදු යතුරු සත්යාපනය
- පොදු සහ පෞද්ගලික යතුරු යුගලයක් භාවිතා කර සත්යාපනය
- වැඩි ආරක්ෂිත සහ පෙරනිමි ලෙස නිර්දේශිත
SSH හි වාසි
- සංකේතනය කළ සන්නිවේදනය : ප්රේරණය කරන දත්ත ආරක්ෂා කරයි
- සුලභ දුරස්ථ කළමනාකරණය : ඕනෑම ස්ථානයකින් ප්රවේශ විය හැක
- ආරක්ෂාව වැඩිදියුණු කිරීම : අනුමත නොකළ ප්රවේශය වැළැක්වීමට උදව් කරයි
3. Ubuntu හි SSH සර්වර් ස්ථාපනය කිරීම
Ubuntu හි SSH භාවිතා කිරීමට, ඔබට OpenSSH සර්වර් පැකේජය ස්ථාපනය කළ යුතුය. මෙම පරිච්ඡේදය එය ස්ථාපනය කිරීම සහ සැකසීම පිළිබඳ විස්තර කරයි.
OpenSSH සර්වර් ස්ථාපනය කිරීම
ඔබට පහත කමාන්ඩ් භාවිතා කර Ubuntu හි OpenSSH සර්වර් ස්ථාපනය කළ හැක:
sudo apt update
sudo apt install openssh-server
ස්ථාපනයෙන් පසු, SSH සේවාව ක්රියාත්මක වන බව තහවුරු කරන්න:
sudo systemctl status ssh
SSH සේවාව ආරම්භ කිරීම සහ කළමනාකරණය
SSH සේවාව අතින් ආරම්භ හෝ නවත්වීමට, පහත කමාන්ඩ් භාවිතා කරන්න:
# Start SSH
sudo systemctl start ssh
# Enable SSH to start automatically after reboot
sudo systemctl enable ssh
# Stop SSH
sudo systemctl stop ssh
UFW (Uncomplicated Firewall) සැකසීම
UFW සක්රිය නම්, SSH සම්බන්ධතා අවහිර විය හැක. පහත කමාන්ඩ් මඟින් SSH පෝට් (22) අනුමත කරන්න:
sudo ufw allow ssh
sudo ufw enable
4. SSH සම්බන්ධතා සැකසීම
SSH ආරක්ෂිතව භාවිතා කිරීමට, නිවැරදි සැකසීම අත්යවශ්ය වේ. මෙම පරිච්ඡේදය පොදු යතුරු සත්යාපනය සැකසීම පිළිබඳ විස්තර කරයි.
යතුරු යුගලයක් ජනනය කිරීම
ගනුදෙනුකරු (client) යන්ත්රයේ පහත කමාන්ඩ් ක්රියාත්මක කර පොදු/පෞද්ගලික යතුරු යුගලයක් ජනනය කරන්න:
ssh-keygen -t rsa -b 4096
පෙරනිමි ලෙස, පෞද්ගලික යතුර ~/.ssh/id_rsa තුළ, පොදු යතුර ~/.ssh/id_rsa.pub තුළ ගබඩා වේ.
පොදු යතුර සර්වර් වෙත උඩුගත කිරීම
ජනනය කළ පොදු යතුර SSH සර්වර් වෙත මාරු කරන්න:
ssh-copy-id username@server-ip-address
හෝ අතින් මාරු කරන්න:
scp ~/.ssh/id_rsa.pub username@server-ip-address:~/
සර්වර් එකේ, පොදු යතුර නිවැරදි නාමාවලියට තබා ගැනීමට පහත කමාන්ඩ් ක්රියාත්මක කරන්න:
mkdir -p ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm ~/id_rsa.pub
sshd_config සංස්කරණය
ආරක්ෂක සැකසුම් වැඩිදියුණු කිරීම සඳහා SSH වින්යාස ගොනුව විවෘත කරන්න:
sudo nano /etc/ssh/sshd_config
පහත වින්යාස අයිතම පරීක්ෂා කර සංස්කරණය කරන්න:
# Disable password authentication (use public key only)
PasswordAuthentication no
# Disable root login
PermitRootLogin no
# Change the SSH port (example: 2222)
Port 2222
වෙනස්කම් සිදු කළ පසු, SSH සේවාව නැවත ආරම්භ කරන්න:
sudo systemctl restart ssh
5. SSH සම්බන්ධතා ක්රියාත්මක කිරීම
Ubuntu හි SSH සේවාදායකය වින්යාස කර ඇති පසු, ඔබට ගනුදෙනුකරු යන්ත්රයෙන් සම්බන්ධ විය හැක. මෙම අධ්යයනය මූලික SSH භාවිතය සහ පෝට් වෙනස් වූ විට සම්බන්ධතා ක්රම විස්තර කරයි.
මූලික SSH සම්බන්ධතා විධානය
SSH සේවාදායකයට සම්බන්ධ වීමට SSH සේවාදායකයෙන් පහත විධානය භාවිතා කරන්න:
ssh username@server-ip-address
උදාහරණයක් ලෙස, සේවාදායක IP 192.168.1.10 සහ පරිශීලක නාමය ubuntu නම්, මෙසේ ටයිප් කරන්න:
ssh ubuntu@192.168.1.10
පළමු සම්බන්ධතාවයේ, සේවාදායකයේ ඇඟිලි සලකුණ පෙන්වනු ඇත. පිළිගැනීමට yes යොදන්න.
පෝට් අංකය වෙනස් කිරීමෙන් පසු සම්බන්ධ වීම
ඔබ SSH පෝට් වෙනස් කර ඇත්නම්—උදාහරණයක් ලෙස 2222—-p විකල්පය භාවිතා කරන්න:
ssh -p 2222 ubuntu@192.168.1.10
පෞද්ගලික යතුරක් සමඟ සම්බන්ධ වීම
පොදු යතුරු සත්යාපනය සකසා ඇත්නම්, -i විකල්පය භාවිතා කර පෞද්ගලික යතුර සඳහන් කරන්න:
ssh -i ~/.ssh/id_rsa ubuntu@192.168.1.10
SSH හරහා දුරස්ථ විධාන ක්රියාත්මක කිරීම
ඔබට අන්තර්ක්රියාත්මක ලෙස ලොග් වීමකින් තොරව දුරස්ථ සේවාදායකයේ විධාන සෘජුව ක්රියාත්මක කළ හැක:
ssh ubuntu@192.168.1.10 "ls -lah /home/ubuntu"
මෙම ක්රමය ස්ක්රිප්ට් භාවිතයෙන් කාර්යක්ෂම ස්වයංක්රීය කිරීම සහ දුරස්ථ මෙහෙයුම් සලසයි.
SCP භාවිතයෙන් ගොනු මාරු කිරීම
ඔබට SSH භාවිතයෙන් ස්ථානීය පීසී සහ දුරස්ථ සේවාදායකය අතර ගොනු මාරු කළ හැක.
ස්ථානීය → දුරස්ථ
scp filename username@server-ip-address:/remote/directory
උදාහරණය:
scp myfile.txt ubuntu@192.168.1.10:/home/ubuntu/
දුරස්ථ → ස්ථානීය
scp username@server-ip-address:/remote/filename /local/directory
උදාහරණය:
scp ubuntu@192.168.1.10:/home/ubuntu/myfile.txt ./
SFTP භාවිතයෙන් ගොනු කළමනාකරණය
ඔබට SFTP භාවිතයෙන් ගොනු කළමනාකරණය කළ හැක:
sftp ubuntu@192.168.1.10
සම්බන්ධ වූ පසු, පහත විධාන ක්රියාත්මක කළ හැක:
ls # List files
cd # Change directory
put filename # Upload a local file to the remote server
get filename # Download a remote file to the local machine
exit # Exit the connection
6. SSH සම්බන්ධතා ගැටළු නිරාකරණය
SSH හරහා සම්බන්ධ වීමේදී ගැටළු මුහුණ දීම අසාමාන්ය නොවේ. මෙම අධ්යයනය සාමාන්ය ගැටළු සහ ඒවා විසඳුම් විස්තර කරයි.
SSH සම්බන්ධතා දෝෂයන්ගේ සාමාන්ය හේතු සහ විසඳුම්
SSH සම්බන්ධතාවයක් අසාර්ථක වූ විට, හේතුව සාමාන්යයෙන් පහත සඳහන් එකක් වේ:
1. SSH සේවාදායකය ක්රියාත්මක නොවේ
පළමුව, SSH සේවාදායකය නිසි ලෙස ක්රියාත්මක වෙයිදැයි තහවුරු කරන්න:
sudo systemctl status ssh
විසඳුම:
- SSH සේවාදායකය නවතා තිබේ නම්, පහත විධානය භාවිතා කර ආරම්භ කරන්න:
sudo systemctl start ssh
- රීබූට් පසු SSH ස්වයංක්රීයව ආරම්භ වීමට, මෙය ක්රියාත්මක කරන්න:
sudo systemctl enable ssh
2. ගිනුම් බාධක (UFW) SSH අවහිර කරයි
UFW (Uncomplicated Firewall) සක්රිය කර ඇත්නම්, SSH ප්රවේශය අවහිර විය හැක:
විසඳුම:
- වත්මන් UFW වින්යාසය පරීක්ෂා කරන්න:
sudo ufw status
- SSH ප්රවේශය ඉඩ දෙන්න:
sudo ufw allow ssh
(අභිරුචි පෝට් භාවිතා කරනවා නම්, sudo ufw allow <port-number> ක්රියාත්මක කරන්න)
- UFW නැවත ආරම්භ කරන්න:
sudo ufw reload
3. පෝට් අංකය වෙනස් කර ඇත
SSH සේවාදායකය පෙරනිමි පෝට් 22 භාවිතා නොකරන්නේ නම්, සම්බන්ධ වීමේදී නිවැරදි පෝට් සඳහන් කළ යුතුය:
විසඳුම:
- සේවාදායකයේ පෝට් අංකය පරීක්ෂා කරන්න:
sudo grep Port /etc/ssh/sshd_config
- සේවාදායකයේ නිවැරදි පෝට් සඳහන් කරන්න:
ssh -p 2222 username@server-ip-address
4. වැරදි SSH යතුරු අවසරයන්
ඔබ පබ්ලික් යතුරු සත්යාපනය භාවිතා කරන්නේ නම්, වැරදි යතුරු අවසරයන් සම්බන්ධතාවය වළක්වා හැක.
විසඳුම:
- පෞද්ගලික යතුර සඳහා අවසර සකසන්න:
chmod 600 ~/.ssh/id_rsa
- පබ්ලික් යතුර සඳහා අවසර සකසන්න:
chmod 644 ~/.ssh/authorized_keys
5. හෝස්ට් යතුරු නොගැලපීම
සේවාදායකයේ SSH හෝස්ට් යතුර වෙනස් වී ඇත්නම්, ග්රාහකයා “WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!” වැනි දෝෂයක් පෙන්විය හැක.
විසඳුම:
- පරණ හෝස්ට් යතුර ඉවත් කරන්න:
ssh-keygen -R <server-ip-address>
- නැවත සම්බන්ධ වීමට උත්සාහ කරන්න:
ssh username@server-ip-address
6. SSH ලොග් පරීක්ෂා කිරීම
විස්තරාත්මක SSH දෝෂ පණිවුඩ හඳුනා ගැනීමට, සේවාදායක ලොග් ගොනු පරීක්ෂා කරන්න:
sudo journalctl -u ssh --no-pager | tail -n 20
ලොග් රියල්-ටයිම් නිරීක්ෂණය කිරීමට, මෙය ක්රියාත්මක කරන්න:
sudo tail -f /var/log/auth.log
7. SSH සම්බන්ධතා කාලය ඉක්මවන ගැටළු
SSH සම්බන්ධතා මන්දගාමී හෝ අනපේක්ෂිතව විසන්ධි වන්නේ නම්, පහත කරුණු සමාලෝචනය කරන්න:
විසඳුම:
- KeepAlive සක්රිය කරන්න ග්රාහකයාගේ
~/.ssh/configගොනුවට පහත එකතු කරන්න:Host * ServerAliveInterval 60
- සේවාදායකයේ කාලය සීමා සැකසීම් සකසන්න
/etc/ssh/sshd_configගොනුවට පහත එකතු කර සේවාව නැවත ආරම්භ කරන්න:ClientAliveInterval 60 ClientAliveCountMax 3sudo systemctl restart ssh
සාරාංශය
SSH සම්බන්ධතා ගැටළු සාමාන්යයෙන් පහත කරුණු වලින් උද्भව වේ. බොහෝ විට, මෙම අයිතම පරීක්ෂා කිරීම ගැටළුව විසඳයි:
✅ SSH සේවාව ක්රියාත්මක වන බව තහවුරු කරන්න
✅ ෆයර්වෝල් සම්බන්ධතාවය අවහිර කරන්නේදැයි පරීක්ෂා කරන්න
✅ නිවැරදි SSH පෝට් භාවිතා කරමින් සිටින බව තහවුරු කරන්න
✅ SSH යතුරු අවසරයන් නිවැරදිව සකසා ඇති බව සහතික කරන්න
✅ විස්තරාත්මක දෝෂ හඳුනා ගැනීමට SSH ලොග් පරීක්ෂා කරන්න

7. SSH ආරක්ෂාව වැඩිදියුණු කිරීම
SSH යනු බලවත් දුරස්ථ ප්රවේශ මෙවලමක් වන අතර, සුදුසු ආරක්ෂක පියවර නොගතහොත්, අනුමත නොකළ ප්රවේශය හෝ බ්රූට්-ෆෝස් ප්රහාර සඳහා ඉලක්කයක් විය හැක. මෙම අධ්යයනය SSH ආරක්ෂාව ශක්තිමත් කිරීම සඳහා නිර්දේශිත සැකසුම් පැහැදිලි කරයි.
1. මුරපද සත්යාපනය අක්රිය කර පබ්ලික් යතුරු සත්යාපනය භාවිතා කිරීම
පෙරනිමියෙන්, SSH මුරපද ලොග්ඉන් ඉඩ දෙයි, එය බ්රූට්-ෆෝස් ප්රහාර අවදානම වැඩි කරයි. ආරක්ෂාව වැඩිදියුණු කිරීම සඳහා පබ්ලික් යතුරු සත්යාපනය සක්රිය කර මුරපද සත්යාපනය අක්රිය කරන්න.
පියවර
sshd_configසංස්කරණය කරන්න:sudo nano /etc/ssh/sshd_config
- පහත සැකසුම් සංස්කරණය කරන්න හෝ එකතු කරන්න:
PasswordAuthentication no PubkeyAuthentication yes
- SSH සේවාව නැවත ආරම්භ කරන්න:
sudo systemctl restart ssh
මෙම වින්යාසය යෙදූ පසු, SSH පබ්ලික් යතුරු සත්යාපනය පමණක් පිළිගනී. ඔබේ SSH යතුරු පෙර නිවැරදිව වින්යාස කර ඇති බවට විශ්වාස කරන්න.
2. SSH පෝට් අංකය වෙනස් කිරීම
පෙරනිමි SSH පෝට් (22) භාවිතා කිරීම සේවාදායකයන්ට ප්රහාරකරුවන්ට පහසු ඉලක්කයක් කරයි. පෝට් අංකය වෙනස් කිරීම අනුමත නොකළ ප්රවේශ උත්සාහයන් අඩු කිරීමට උපකාරී වේ.
පියවර
sshd_configවිවෘත කරන්න:sudo nano /etc/ssh/sshd_config
- පහත පේළිය වෙනස් කරන්න (උදාහරණයක්: පෝට් 2222 වෙත වෙනස් කිරීම):
Port 2222
- නව පෝට් ෆයර්වෝල් හරහා ඉඩ දෙන්න:
sudo ufw allow 2222/tcp
- SSH සේවාව නැවත ආරම්භ කරන්න:
sudo systemctl restart ssh
- නව පෝට් භාවිතා කර සම්බන්ධතාවය පරීක්ෂා කරන්න:
ssh -p 2222 username@server-ip-address
3. රූට් ලොග්ඉන් අක්රිය කිරීම
පෙරනිමියෙන්, SSH රූට් ලොග්ඉන් ඉඩ දෙයි, එය ගැඹුරු ආරක්ෂක අවදානමක් වේ. සාමාන්ය පරිශීලක ගිණුම් හරහා පමණක් SSH ප්රවේශය ඉඩ දී, පරිපාලන අවසර අවශ්ය වන විට sudo භාවිතා කිරීම නිර්දේශිතය.
පියවර
sshd_configවිවෘත කරන්න:sudo nano /etc/ssh/sshd_config
- පහත පේළිය සංස්කරණය කරන්න:
PermitRootLogin no
- SSH සේවාව නැවත ආරම්භ කරන්න:
sudo systemctl restart ssh
4. Fail2Ban සමඟ බ්රූට්-ෆෝස් ප්රහාර වලින් ආරක්ෂා කිරීම
Fail2Ban අනුමත නොකළ ලොග්ඉන් උත්සාහයන් හඳුනාගෙන, නියමිත අසාර්ථකතා ගණන ඉක්මවන IP ලිපින ස්වයංක්රීයව අවහිර කරයි.
ස්ථාපනය සහ වින්යාසය
- Fail2Ban ස්ථාපනය කරන්න.
sudo apt install fail2ban -y
- පෙරනිමි වින්යාස ගොනුව පිටපත් කරන්න
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
jail.localසංස්කරණය කරන්නsudo nano /etc/fail2ban/jail.local
[sshd]කොටස වෙනස් කරන්න[sshd] enabled = true maxretry = 5 bantime = 600 findtime = 600
maxretry: ඉඩ දී ඇති අසාර්ථක පිවිසුම් උත්සාහ ගණනbantime: IP අවහිර කාලය (තත්පර)findtime: අසාර්ථක උත්සාහ ගණනය සඳහා කාල කවුළුව (තත්පර)
- Fail2Ban නැවත ආරම්භ කරන්න
sudo systemctl restart fail2ban
- වත්මන් Fail2Ban තත්ත්වය පරීක්ෂා කරන්න
sudo fail2ban-client status sshd
සාරාංශය
SSH ආරක්ෂාව වැඩිදියුණු කිරීමට, පහත පියවර අනුගමනය කරන්න:
✅ මුරපද ප්රමාණය අක්රිය කර පොදු යතුරු ප්රමාණය භාවිතා කරන්න
✅ ආක්රමණ අවදානම අඩු කිරීම සඳහා SSH පෝට් වෙනස් කරන්න
✅ අනතුරු අවම කිරීම සඳහා root ලොග්ඉන් අක්රිය කරන්න
✅ බ්රූට්-ෆෝස් ප්රහාර වලින් රැකගැනීමට Fail2Ban භාවිතා කරන්න
8. නිතර අසන ප්රශ්න (FAQ)
මෙම කොටස SSH වින්යාස කිරීම සහ භාවිතා කිරීමේදී ඇතිවන සාමාන්ය ප්රශ්න සහ ගැටළු සලකා බලයි.
ප්ර.1: SSH “Connection refused” යන පණිවුඩය පෙන්වන්නේ ඇයි?
SSH සම්බන්ධතාවයක් ප්රතික්ෂේප වීමට විවිධ හේතු ඇත.
ප්රධාන හේතු සහ විසඳුම්:
- SSH සේවාව ක්රියාත්මක නොවේ
sudo systemctl status ssh
විසඳුම: සේවාව නවතා තිබේ නම් එය ආරම්භ කරන්න.
sudo systemctl start ssh
- ෆයර්වෝල් (UFW) SSH අවහිර කරයි
sudo ufw allow ssh sudo ufw enable
- SSH පෝට් අංකය වෙනස් කර ඇත SSH අභිරුචි පෝට් එකක් භාවිතා කරනවා නම්, සම්බන්ධ වීමේදී එය සඳහන් කරන්න.
ssh -p 2222 username@server-ip-address
ප්ර.2: පෙරනිමි SSH පෝට් එක කෙසේ වෙනස් කරන්නේද?
පෝට් 22 සාමාන්ය ආක්රමණ ඉලක්කයක් වන බැවින්, එය වෙනස් කිරීම ආරක්ෂාව වැඩිදියුණු කරයි.
පියවර:
- SSH වින්යාස ගොනුව සංස්කරණය කරන්න
sudo nano /etc/ssh/sshd_config
Portනියෝගය වෙනස් කරන්නPort 2222
- නව පෝට් එක ෆයර්වෝල් හරහා ඉඩ දෙන්න
sudo ufw allow 2222/tcp
- SSH සේවාව නැවත ආරම්භ කරන්න
sudo systemctl restart ssh
මෙම වෙනස්කම් සිදු කිරීමෙන් පසු, නව පෝට් එක භාවිතා කර සම්බන්ධ වන්න:
ssh -p 2222 username@server-ip-address
ප්ර.3: පොදු යතුරු ප්රමාණය ක්රියා නොකරන්නේ නම් මොනවා පරීක්ෂා කළ යුතුද?
SSH යතුරු ප්රමාණය අසාර්ථක වූ විට පහත දේ පරීක්ෂා කරන්න:
- පොදු යතුර නිවැරදිව ස්ථාපනය කර ඇති බව තහවුරු කරන්න
ls -l ~/.ssh/authorized_keys
authorized_keys ගොනුව පවතින අතර නිවැරදි යතුර අඩංගු බවට විශ්වාස කරන්න.
- ගොනු අවසර පරීක්ෂා කරන්න
chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh
- SSH පොදු යතුරු ප්රමාණය ඉඩ දෙන බව තහවුරු කරන්න
sudo nano /etc/ssh/sshd_config
පහත ඇතුළත් කිරීම් පවතින බවට විශ්වාස කරන්න:
PubkeyAuthentication yes
PasswordAuthentication no
- SSH සේවාව නැවත ආරම්භ කරන්න
sudo systemctl restart ssh
ප්ර.4: නියමිත IP ලිපින වලින් පමණක් SSH ප්රවේශය ලබා දීමට කෙසේද?
SSH ප්රවේශය නියමිත IP ලිපින වලට සීමා කිරීම ආරක්ෂාව ගණනාවක් වැඩි කරයි.
විධිය 1: sshd_config සංස්කරණය කරන්න
- වින්යාස ගොනුව විවෘත කරන්න
sudo nano /etc/ssh/sshd_config
AllowUsersඇතුළත් කිරීම එක් කරන්නAllowUsers username@192.168.1.100
- SSH සේවාව නැවත ආරම්භ කරන්න
sudo systemctl restart ssh
විධිය 2: ෆයර්වෝල් (UFW) වින්යාස කරන්න
- නියමිත IP එකකින් ප්රවේශය ඉඩ දෙන්න
sudo ufw allow from 192.168.1.100 to any port 22
- අනෙකුත් IP වලින් ප්රවේශය තහනම් කරන්න
sudo ufw deny 22
ප්ර.5: SSH සැසිය කාලය (timeout) කෙසේ වෙනස් කරන්නේද?
ඔබේ SSH සැසිය නිශ්ශබ්දව සිටීමෙන් පසු විසන්ධි වන්නේ නම්, පහත සැකසුම් වෙනස් කරන්න.
ග්රාහක-පාර්ශ්ව සැකසුම්
~/.ssh/configගොනුවට පහත එකතු කරන්න:Host * ServerAliveInterval 60
සේවාදායක-පාර්ශ්ව සැකසුම්
sshd_configසංස්කරණය කරන්නsudo nano /etc/ssh/sshd_config
- එකතු කරන්න හෝ වෙනස් කරන්න:
ClientAliveInterval 60 ClientAliveCountMax 3
- SSH සේවාව නැවත ආරම්භ කරන්න
sudo systemctl restart ssh
සාරාංශය
මෙම FAQ එක සාමාන්යතම SSH ගැටළු සහ විසඳුම් ආවරණය කරයි. ගැටලුවක් සිදුවන විට, හේතුව හඳුනා ගැනීමට ලොග් සහ වින්යාස සැකසුම් සදාචාරයෙන් සමාලෝචනය කරන්න.
✅ “Connection refused” ගැටළු විසඳීමේ ක්රමය
✅ පෙරනිමි SSH පෝට් වෙනස් කර නිවැරදිව සම්බන්ධ වීමේ ක්රමය
✅ පොදු යතුරු සත්යාපන අසාර්ථකතා නිරාකරණය කිරීම
✅ SSH ප්රවේශය විශේෂ IP ලිපින වලට සීමා කිරීම
✅ SSH සැසිය කාලය ඉක්මවනවා වැලැක්වීම
9. නිගමනය
මෙම ලිපිය Ubuntu හි SSH සකස් කිරීම සහ භාවිතය, මූලික සංකල්ප වලින් පටන් අධික ආරක්ෂක ක්රියාමාර්ග දක්වා පැහැදිලි කරයි. ප්රධාන කරුණු සාරාංශ කරමු.
ප්රධාන සාරාංශ
1. SSH මූලික කරුණු
- SSH සංකේතනය කළ සන්නිවේදනය මගින් ආරක්ෂිත දුරස්ථ ප්රවේශය සලසයි.
- Telnet හෝ FTP වලට වඩා ආරක්ෂිතයි.
- සත්යාපන ක්රමවලට මුරපද සත්යාපනය සහ පොදු යතුරු සත්යාපනය ඇතුළත් වේ.
2. SSH සේවාදායකය ස්ථාපනය කිරීම
sudo apt install openssh-serverභාවිතයෙන් OpenSSH ස්ථාපනය කරන්න.systemctl status sshමඟින් සේවාවේ තත්ත්වය පරීක්ෂා කරන්න.sudo ufw allow sshභාවිතයෙන් UFW මඟින් SSH ප්රවේශය ඉඩ දෙන්න.
3. SSH ප්රවේශය වින්යාස කිරීම
ssh username@server-ip-addressමඟින් සම්බන්ධ වන්න.- ආරක්ෂාව වැඩිදියුණු කිරීම සඳහා පොදු යතුරු සත්යාපනය භාවිතා කරන්න.
- අවශ්ය නම්
sshd_configහි මුරපද සත්යාපනය අක්රිය කරන්න.
4. ගැටළු නිරාකරණය
- SSH ක්රියාත්මක වෙයිදැයි පරීක්ෂා කරන්න (
systemctl status ssh). - පෝට් වෙනස් කර ඇත්නම් නිවැරදි පෝට් සඳහන් කරන්න (
ssh -p 2222 username@IP). ~/.ssh/authorized_keysහි යතුරු අවසර පරීක්ෂා කරන්න.
5. ආරක්ෂක වැඩිදියුණු කිරීම්
- මුරපද සත්යාපනය අක්රිය කර පොදු යතුරු භාවිතා කරන්න.
- SSH පෝට් වෙනස් කර ස්කෑනින් ප්රහාර අඩු කරන්න.
- Fail2Ban භාවිතයෙන් නැවත නැවත ලොග්ඉන් අසාර්ථකතා අවහිර කරන්න.
- හැකි තරම් SSH ප්රවේශය විශේෂ IP ලිපින වලට සීමා කරන්න.
අතිරේක ඉගෙනුම් සම්පත්
SSH පිළිබඳ ඔබේ අවබෝධය ගැඹුරු කිරීමට, පහත සම්පත් පරීක්ෂා කරන්න:
📚 නිල ලේඛන
🛠 සම්බන්ධිත මෙවලම්
- PuTTY Windows හි SSH ප්රවේශය සඳහා
- Download PuTTY
- MobaXterm උසස් SSH විශේෂතා සඳහා
- MobaXterm Official Site
🎥 නිර්දේශිත වීඩියෝ
- “Ubuntu SSH setup” යන වචන YouTube හි සොයා අරඹන්නාට සුහද වීඩියෝ සොයා ගන්න.
作成した動画を友だち、家族、世界中の人たちと共有…
ඊළඟ පියවර
SSH ක්රියාකාරිත්වය ඔබට තේරෙන පසු, උසස් භාවිතයන් පරීක්ෂා කරන්න:
✅ Ansible භාවිතයෙන් SSH මගින් සේවාදායක කළමනාකරණය ස්වයංක්රීය කිරීම
- බහු සේවාදායකයන් කාර්යක්ෂමව කළමනාකරණය කිරීමට සුදුසුය.
✅ SSH ටනල කිරීම සහ පෝට් ඉදිරිපත් කිරීම
- දුරස්ථ ඩෙස්ක්ටොප් සම්බන්ධතා ආරක්ෂා කිරීම හෝ VPN-සමාන ටනල සෑදීම සඳහා SSH භාවිතා කරන්න.
✅ SSH ලොග් නිරීක්ෂණය කර ආරක්ෂාව වැඩිදියුණු කිරීම
fail2banසහlogwatchවැනි මෙවලම් භාවිතයෙන් සැකසිය හැකි ක්රියාකාරකම් නිරීක්ෂණය කරන්න.
අවසාන අදහස්
මෙම මාර්ගෝපදේශය අවසානය දක්වා කියවූ ඔබට ස්තූතියි! 🎉
Ubuntu හි SSH නිවැරදිව වින්යාස කිරීම දුරස්ථ කළමනාකරණ කාර්යක්ෂමතාවය සහ ආරක්ෂාව විශාල ලෙස වැඩිදියුණු කරයි.
ඔබ ඉගෙනීම දිගටම කරගෙන යන විට, ආරක්ෂිත ටනල කිරීම සහ ප්රතිපත්තිමය නිරීක්ෂණය වැනි උසස් තාක්ෂණයන් පරීක්ෂා කර තවත් ශක්තිමත් පද්ධති ගොඩනඟන්න.
ආරක්ෂිත සහ ප්රයෝජනවත් SSH අත්දැකීමක් අත්විඳින්න! 🖥️🔐
