Ubuntu SSH වින්‍යාසය සඳහා සම්පූර්ණ මාර්ගෝපදේශය | ස්ථාපනය, ආරක්ෂා වැඩිදියුණු කිරීම, සහ දෝෂ නිරාකරණය

目次

1. හැඳින්වීම

Ubuntu හි SSH සකස් කිරීම දුරස්ථ සේවාදායකයන් කළමනාකරණය කිරීම සඳහා අත්‍යවශ්‍ය වේ. SSH (Secure Shell) යනු ආරක්ෂිත සංකේතනය කළ සන්නිවේදනය ලබා දෙන ප්‍රොටෝකෝලයක් වන අතර, දුරස්ථ සේවාදායක ප්‍රවේශය, විධාන ක්‍රියාත්මක කිරීම, සහ ගොනු හුවමාරු සඳහා පුළුල් ලෙස භාවිතා වේ.
මෙම මාර්ගෝපදේශයේ, Ubuntu හි SSH සඳහා මූලික ස්ථාපනයෙන් පටන් අධික ආරක්ෂක සැකසුම් දක්වා සියල්ල ආවරණය කරමු.

1.1 Ubuntu හි SSH සකස් කිරීමේ හේතුව?

1.1.1 SSH යනු කුමක්ද?

SSH (Secure Shell) යනු ජාලයක් මත ආරක්ෂිත සන්නිවේදනය සඳහා නිර්මාණය කරන ලද ප්‍රොටෝකෝලයකි. එය සාමාන්‍යයෙන් දුරස්ථ සේවාදායකයන්ට ලොග් වීම, ගොනු හුවමාරු කිරීම, සහ ටනල කිරීම (පෝට් ඉදිරිපත් කිරීම) සඳහා භාවිතා වේ. Telnet හෝ FTP වැනි සම්ප්‍රදායික ප්‍රොටෝකෝල වලට වඩා, SSH සියලු සන්නිවේදනය සංකේතනය කරයි, එය ඉතා ආරක්ෂිත කරයි.

1.1.2 Ubuntu හි SSH ඔබට අවශ්‍ය වන අවස්ථා කවුරුන්ද?

SSH විවිධ අවස්ථා වල දුරස්ථ කළමනාකරණයට ප්‍රයෝජනවත් වේ, උදාහරණ ලෙස:

  • වලාකුළු සේවාදායක කළමනාකරණය : AWS, GCP, සහ Vultr වැනි වලාකුළු සේවා SSH භාවිතා කර දුරස්ථ සේවාදායක ප්‍රවේශය ලබා දෙයි.
  • LAN පරිසරයේ දුරස්ථ මෙහෙයුම් : දුරස්ථ වැඩ සඳහා SSH මගින් අභ්‍යන්තර සේවාදායක හෝ සංවර්ධන යන්ත්‍ර වෙත ප්‍රවේශ වීම.
  • IoT උපාංග කළමනාකරණය : Raspberry Pi වැනි සම්බන්ධිත උපාංග දුරස්ථව පාලනය කිරීම.

පෙරනිමියෙන්, Ubuntu හි SSH අක්‍රිය වේ. එය භාවිතා කිරීමට, ඔබට එය ස්ථාපනය කර අතින් සැකසිය යුතුය.

2. මූලික SSH සැකසුම්

Ubuntu හි SSH භාවිතා කිරීමට, ඔබට SSH සේවාදායකය (OpenSSH) ස්ථාපනය කර නිවැරදිව සැකසිය යුතුය. මෙම කොටස ස්ථාපනය, මූලික සැකසුම්, ගිනුම් බාධක (firewall) සැකසුම්, සහ ඔබේ සේවාදායකයට සම්බන්ධ වීම පිළිබඳව ආවරණය කරයි.

2.1 OpenSSH ස්ථාපනය සහ ආරම්භ කිරීම

2.1.1 OpenSSH යනු කුමක්ද?

OpenSSH (Open Secure Shell) යනු SSH ප්‍රොටෝකෝලයේ විවෘත-මූලාශ්‍ර ක්‍රියාත්මක කිරීමකි. එය දුරස්ථ සම්බන්ධතා, ආරක්ෂිත ගොනු හුවමාරු (SCP සහ SFTP), සහ පෝට් ඉදිරිපත් කිරීම සහය දක්වයි.

2.1.2 OpenSSH ස්ථාපනය

පෙරනිමියෙන්, Ubuntu හි SSH සේවාදායකය පෙර ස්ථාපනය කර නොමැත. එය ස්ථාපනය කිරීමට පහත කමාන්ඩ් භාවිතා කරන්න:

sudo apt update && sudo apt install -y openssh-server

මෙම කමාන්ඩ් පැකේජ ලැයිස්තුව යාවත්කාලීන කර OpenSSH සේවාදායකය ස්ථාපනය කරයි.

2.1.3 SSH සේවාදායකය ආරම්භ කිරීම සහ සක්‍රිය කිරීම

ස්ථාපනය වූ පසු, SSH සේවාදායකය ආරම්භ කර එය පද්ධතිය ආරම්භ වන විට ස්වයංක්‍රීයව ක්‍රියාත්මක වන ලෙස සක්‍රිය කරන්න.

sudo systemctl enable --now ssh

enable විකල්පය OS ආරම්භ වන විට SSH ස්වයංක්‍රීයව ආරම්භ වන බව සහතික කරයි.

2.1.4 SSH තත්ත්වය පරීක්ෂා කිරීම

SSH සේවාදායකය ක්‍රියාත්මක වෙයිදැයි පරීක්ෂා කිරීමට, පහත භාවිතා කරන්න:

systemctl status ssh

පහත පරිදි ප්‍රතිඵලයක් දැකෙනවා නම්, SSH නිවැරදිව ක්‍රියාත්මක වෙයි:

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2025-02-28 12:00:00 UTC; 5min ago

inactive (dead) හෝ failed ලෙස පෙන්වන්නේ නම්, සේවාව අතින් ආරම්භ කරන්න:

sudo systemctl start ssh

2.2 ගිනුම් බාධක (UFW) සැකසීම

Ubuntu ufw (Uncomplicated Firewall) ලබා දේ, එය පහසු ගිනුම් බාධක කළමනාකරණයක් සඳහායි. SSH සම්බන්ධතා ඉඩ දීමට ඔබට UFW සැකසිය යුතුය.

2.2.1 UFW තත්ත්වය පරීක්ෂා කිරීම

පවත්නා ගිනුම් බාධක තත්ත්වය පරීක්ෂා කිරීමට:

sudo ufw status

උදාහරණ ප්‍රතිඵල (UFW අක්‍රිය නම්):

Status: inactive

උදාහරණ ප්‍රතිඵල (UFW සක්‍රිය නම්):

Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere

2.2.2 SSH ගමන් මාර්ග ඉඩ දීම

පෙරනිමි පෝට් 22 හි SSH සම්බන්ධතා ඉඩ දීමට, ධාවනය කරන්න:

sudo ufw allow ssh

විකල්පයක් ලෙස, පෝට් එක සපයන්න:

sudo ufw allow 22/tcp

2.2.3 UFW සක්‍රිය කිරීම

UFW අක්‍රිය නම්, පහත මඟින් සක්‍රිය කරන්න:

sudo ufw enable

UFW සක්‍රිය කිරීමට පෙර, SSH ඉඩ දී ඇති බව තහවුරු කරගන්න, නැත්නම් ඔබට ප්‍රවේශය අහිමි විය හැක.

2.2.4 UFW සැකසුම් පරීක්ෂා කිරීම

ගිනුම් බාධක නීති නිවැරදිව යෙදෙනවාදැයි පරීක්ෂා කරන්න:

sudo ufw status verbose

උදාහරණ ප්‍රතිඵල:

Status: active
To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)

If you see this, SSH is allowed through the firewall.

2.3 Connecting to SSH

Once the SSH server is running, you can connect from a client PC.

2.3.1 Connecting from Linux/macOS

On Linux or macOS, open a terminal and run:

ssh username@server-ip-address

Example:

ssh user@192.168.1.100

On first connection, you may see a security warning like this:

The authenticity of host '192.168.1.100 (192.168.1.100)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?

Type yes and press Enter to proceed.

2.3.2 Connecting from Windows

On Windows, you can use PowerShell or PuTTY to connect via SSH.
Using PowerShell
Windows 10 and later include an SSH client in PowerShell. Connect with:

ssh username@server-ip-address

Using PuTTY

  1. Download and install PuTTY from the official site .
  2. Open PuTTY and enter the server’s IP address in Host Name (or IP address) .
  3. Set Connection type to SSH and click Open .
  4. Enter your username and password to connect.

3. Enhancing SSH Security

SSH is a powerful tool for remote access, but leaving it with default settings can pose security risks. Attackers often target SSH servers using brute force attacks or port scanning. To create a more secure SSH environment, it is essential to apply proper security configurations.

3.1 Disabling Root Login

By default, Ubuntu may allow root login via SSH. Since the root account has full system privileges, it is a common target for attackers. Disabling root login and using a regular user account instead significantly improves security.

3.1.1 Configuration Steps

  1. Edit the SSH configuration file /etc/ssh/sshd_config .
    sudo nano /etc/ssh/sshd_config
    
  1. Find the following line and change it to PermitRootLogin no .
    PermitRootLogin no
    
  1. Save the file and restart the SSH service.
    sudo systemctl restart ssh
    
  1. Verify that the setting has been applied.
    sudo grep PermitRootLogin /etc/ssh/sshd_config
    

If the output shows PermitRootLogin no, the setting has been successfully applied.

3.2 Disabling Password Authentication and Enabling Public Key Authentication

Using public key authentication is much safer than relying on password authentication. With public key authentication, you do not need to enter a password, reducing the risk of brute force attacks.

3.2.1 Generating an SSH Key Pair

On your local PC, generate an SSH key pair:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa

This will create two files:

  • Private key (id_rsa)Keep this on your local PC (never share it publicly).
  • Public key (id_rsa.pub)Copy this to the server.

3.2.2 Copying the Public Key to the Server

Use the following command to copy your public key to the server:

ssh-copy-id username@server-ip-address

3.2.3 Disabling Password Authentication

Edit the SSH configuration file:

sudo nano /etc/ssh/sshd_config

Find the following line and change it to:

PasswordAuthentication no

Restart SSH to apply the changes:

sudo systemctl restart ssh

3.3 Restricting SSH Access to Specific Users

To enhance security, you can limit SSH access to specific users.

3.3.1 Configuration Steps

  1. Open the SSH configuration file.
    sudo nano /etc/ssh/sshd_config
    
  1. Add the following line, specifying allowed users.
    AllowUsers user1 user2
    
  1. Restart SSH to apply the changes.
    sudo systemctl restart ssh
    

3.4 Changing the SSH Port

The default SSH port (22) is frequently targeted by attackers. Changing it to a non-standard port can reduce the risk of automated attacks.

3.4.1 Configuration Steps

  1. Open the SSH configuration file.
    sudo nano /etc/ssh/sshd_config
    
  1. පහත පේළිය සොයා එය අභිරුචි පෝට් එකකට (උදාහරණයක් ලෙස 2200) වෙනස් කරන්න.
    Port 2200
    
  1. ගොනුව සුරකින්න සහ SSH නැවත ආරම්භ කරන්න.
    sudo systemctl restart ssh
    

3.4.2 ෆයර්වෝල් සැකසුම් යාවත්කාලීන කිරීම

SSH පෝට් එක වෙනස් කිරීමෙන් පසු, නව පෝට් එක UFW හරහා ඉඩ දෙන්න:

sudo ufw allow 2200/tcp

සැකසුම් තහවුරු කරන්න:

sudo ufw status

3.5 Fail2Ban සමඟ බ්‍රූට් ෆෝස් ප්‍රහාර වලින් ආරක්ෂා කිරීම

Fail2Ban යනු අසාර්ථක SSH ලොග් ඉන් උත්සාහ හඳුනාගෙන තාවකාලිකව ප්‍රහාරක IP ලිපිනය අවහිර කරන මෙවලමකි.

3.5.1 Fail2Ban ස්ථාපනය කිරීම

sudo apt install fail2ban -y

3.5.2 වින්‍යාස ගොනුවක් සාදීම

පෙරනිමි වින්‍යාස ගොනුව පිටපත් කරන්න:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

වින්‍යාස ගොනුව සංස්කරණය කරන්න:

sudo nano /etc/fail2ban/jail.local

SSH කොටස පහත පරිදි වෙනස් කරන්න:

[sshd]
enabled = true
port = 2200
maxretry = 3
findtime = 600
bantime = 3600

3.5.3 Fail2Ban නැවත ආරම්භ කිරීම

වෙනස්කම් යෙදීමට Fail2Ban නැවත ආරම්භ කරන්න:

sudo systemctl restart fail2ban

3.5.4 තහනම් ලැයිස්තුව පරීක්ෂා කිරීම

කොන IP ලිපින තහනම් කර ඇතිදැයි පරීක්ෂා කිරීමට:

sudo fail2ban-client status sshd

සාරාංශය

මෙම කොටසේ, අපි අත්‍යවශ්‍ය SSH ආරක්ෂක වැඩිදියුණු කිරීම්, ඇතුළත් කරමින්, ආවරණය කළෙමු:

  • රූට් ලොග් ඉන් අක්‍රිය කිරීම
  • මුරපද ප්‍රමාණය අක්‍රිය කිරීම සහ පොදු යතුරු ප්‍රමාණය සක්‍රිය කිරීම
  • SSH ප්‍රවේශය විශේෂිත පරිශීලකයන්ට සීමා කිරීම
  • SSH පෝට් එක වෙනස් කිරීම
  • බ්‍රූට් ෆෝස් ප්‍රහාර අවහිර කිරීමට Fail2Ban භාවිතා කිරීම

මෙම පියවරයන් ක්‍රියාත්මක කිරීමෙන්, ඔබට ආරක්ෂිත SSH පරිසරයක් සෑදිය හැක.

4. උසස් SSH වින්‍යාසය

SSH ආරක්ෂාව වින්‍යාස කිරීමෙන් පසු, භාවිතා හැකියාව සහ ආරක්ෂාව වැඩිදියුණු කිරීමට උසස් සැකසුම් භාවිතා කළ හැක. මෙම කොටස Ubuntu 22.10 සහ ඊට පසු ssh.socket කළමනාකරණය, SSH ටනලින් (පෝට් ඉදිරිපත් කිරීම), බහු SSH පෝට් සකස් කිරීම, සහ විශේෂිත IP ලිපින සඳහා SSH ප්‍රවේශය සීමා කිරීම ආදිය ආවරණය කරයි.

4.1 Ubuntu 22.10 සහ ඊට පසු ssh.socket භාවිතය

Ubuntu 22.10 සිට, SSH සේවා කළමනාකරණය ssh.service වෙතින් ssh.socket වෙත මාරු විය හැක. මෙය සම්බන්ධතා ඉල්ලීම ලැබෙන විට SSH ස්වයංක්‍රීයව ආරම්භ වීමට ඉඩ දී, සම්පත් භාවිතය අඩු කරයි.

4.1.1 ssh.socket තත්ත්වය පරීක්ෂා කිරීම

ssh.socket සක්‍රියදැයි පරීක්ෂා කිරීමට, ධාවනය කරන්න:

sudo systemctl status ssh.socket

උදාහරණ ප්‍රතිඵල (සක්‍රිය නම්):

● ssh.socket - OpenSSH Server Socket
   Loaded: loaded (/lib/systemd/system/ssh.socket; enabled; vendor preset: enabled)
   Active: active (listening) since Fri 2025-02-28 12:00:00 UTC

4.1.2 ssh.socket සක්‍රිය කිරීම හෝ අක්‍රිය කිරීම

ssh.socket අක්‍රිය නම්, මෙය භාවිතා කර සක්‍රිය කරන්න:

sudo systemctl enable --now ssh.socket

සාම්ප්‍රදායික ssh.service වෙත ආපසු යාමට, ssh.socket අක්‍රිය කර ssh.service සක්‍රිය කරන්න:

sudo systemctl disable --now ssh.socket
sudo systemctl enable --now ssh.service

4.2 SSH ටනලින් (පෝට් ඉදිරිපත් කිරීම)

SSH ටනලින් දුරස්ථ සේවාදායකය සහ ස්ථානීය පීසී අතර ආරක්ෂිත දත්ත ප්‍රේරණය සලසා, බාහිර ජාලයන් මඟ හැරීමට ඉඩ දේ.

4.2.1 ස්ථානීය පෝට් ඉදිරිපත් කිරීම

දුරස්ථ දත්ත ගබඩා හෝ වෙබ් සේවාදායකයන් ආරක්ෂිතව ප්‍රවේශ වීමට ප්‍රයෝජනවත්.
උදාහරණය: ඔබේ ස්ථානීය පීසීවලින් දුරස්ථ MySQL සේවාදායකය (පෝට් 3306) වෙත සම්බන්ධ වීම

ssh -L 3306:localhost:3306 username@server-ip-address

4.2.2 දුරස්ථ පෝට් ඉදිරිපත් කිරීම

SSH හරහා ස්ථානීය සේවාවක් දුරස්ථ සේවාදායකයට ප්‍රදර්ශනය කරයි.
උදාහරණය: ස්ථානීය වෙබ් සේවාදායකය (පෝට් 80) දුරස්ථ සේවාදායකයේ පෝට් 8080 වෙත ඉදිරිපත් කිරීම

ssh -R 8080:localhost:80 username@server-ip-address

4.2.3 ඩයිනමික් පෝට් ඉදිරිපත් කිරීම

SSH එක SOCKS ප්‍රොක්සි එකක් බවට පරිවර්තනය කර, අනොනීම් වෙබ් බ්‍රවුසිං සඳහා.
උදාහරණය: ස්ථානීය පෝට් 1080 හි SOCKS ප්‍රොක්සි එකක් සෑදීම

ssh -D 1080 username@server-ip-address

4.3 බහු SSH පෝට් වල අසාදනය

පෙරනිමියෙන්, SSH පෝට් එකක් (පෝට් 22) අසාදනය කරයි. බහු පෝට් සකස් කිරීමෙන් ප්‍රවේශයේ ස flexibilty ලබා ගත හැක.

4.3.1 වින්‍යාස පියවර

  1. SSH වින්‍යාස ගොනුව සංස්කරණය කරන්න.
    sudo nano /etc/ssh/sshd_config
    
  1. බහු පෝට් ඇතුළත් කිරීම් එකතු කරන්න.
    Port 22
    Port 2200
    
  1. SSH නැවත ආරම්භ කරන්න.
    sudo systemctl restart ssh
    
  1. නව පෝට් එක ගිනුම් බාධකය (firewall) තුළ ඉඩ දිය.
    sudo ufw allow 2200/tcp
    

4.4 විශේෂ IP ලිපින වෙත SSH ප්‍රවේශය සීමා කිරීම

ආරක්ෂාව වැඩිදියුණු කිරීම සඳහා, ඔබට SSH ප්‍රවේශය විශේෂ IP ලිපින වෙත සීමා කළ හැක.

4.4.1 /etc/hosts.allow වින්‍යාස කිරීම

සංස්කරණය කිරීමෙන් නියමිත IP ලිපින වලින් පමණක් SSH ප්‍රවේශය ඉඩ දිය හැක:

sudo nano /etc/hosts.allow

පහත පේළිය එක් කරන්න (192.168.1.100 වෙනුවට අවසර ලත් IP ලිපිනය යොදන්න):

sshd: 192.168.1.100

4.4.2 /etc/hosts.deny වින්‍යාස කිරීම

පෙරනිමි ලෙස අනෙකුත් සියලු IP ලිපින අවහිර කිරීමට:

sudo nano /etc/hosts.deny
sshd: ALL

මෙය hosts.allow හි ලැයිස්තුගත IP ලිපින පමණක් SSH වෙත ප්‍රවේශ විය හැකි බව සහතික කරයි.

සාරාංශය

මෙම කොටස උසස් SSH සැකසුම්, ඇතුළත්:

  • Ubuntu 22.10 සහ ඊට පසු ssh.socket කළමනාකරණය
  • ආරක්ෂිත සම්බන්ධතා සඳහා SSH ටනලින් (පෝට් ප්‍රේරණය) භාවිතය
  • බහු SSH පෝට් වල අහිනුම
  • විශේෂ IP ලිපින වෙත SSH ප්‍රවේශය සීමා කිරීම

මෙම සැකසුම් යෙදීමෙන් SSH ආරක්ෂාව සහ භාවිතා හැකියාව වැඩි වේ.

5. SSH ගැටළු නිරාකරණය

නිවැරදි වින්‍යාසය තිබුණත්, SSH ගැටළු ඇති විය හැක. මෙම කොටස සාමාන්‍ය SSH ගැටළු සඳහා විසඳුම් ලබා දෙයි.

5.1 SSH වෙත සම්බන්ධ වීමට නොහැකි වීම

Connection refused හෝ කාලය ඉක්මවන දෝෂයක් ලැබුනහොත්, පහත පරීක්ෂා කරන්න.

5.1.1 SSH සේවාව ක්‍රියාත්මක නොවීම

SSH සේවාවේ තත්ත්වය තහවුරු කරන්න:

sudo systemctl status ssh

විසඳුම:

  • Active: inactive (dead) හෝ failed නම්, SSH නැවත ආරම්භ කරන්න.
    sudo systemctl restart ssh
    
  • SSH ස්වයංක්‍රීයව ආරම්භ වීමට සක්‍රිය කරන්න.
    sudo systemctl enable ssh
    

5.1.2 ගිනුම් බාධකය (Firewall) SSH අවහිර කරයි

UFW හරහා SSH ඉඩ දී ඇති බව තහවුරු කරන්න:

sudo ufw status

විසඳුම: SSH ඉඩ නොදෙනවා නම්:

sudo ufw allow 22/tcp

අභිරුචි පෝට් එකක් භාවිතා කරනවා නම්:

sudo ufw allow 2200/tcp

5.2 සත්‍යාපන දෝෂ

SSH ලොග් ඉන් උත්සාහයන් ප්‍රතික්ෂේප කරනවා නම්, පහත පරීක්ෂා කරන්න:

5.2.1 වැරදි පරිශීලක නාමය හෝ මුරපදය

ඔබ නිවැරදි පරිශීලක නාමය භාවිතා කරනවාදැයි තහවුරු කරන්න:

ssh username@server-ip-address

5.2.2 පොදු යතුරු සත්‍යාපන ගැටළු

ඔබගේ පොදු යතුර ~/.ssh/authorized_keys තුළ නිවැරදිව ගබඩා කර ඇති බව තහවුරු කරන්න.

cat ~/.ssh/authorized_keys

5.2.3 වැරදි අවසර

SSH නාමාවලිය සහ ගොනු නිවැරදි අවසර ඇති බව තහවුරු කරන්න:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

සාරාංශය

මෙම කොටස සාමාන්‍ය SSH ගැටළු සහ ඒවායේ විසඳුම්, ඇතුළත්:

  • SSH ක්‍රියාත්මක වෙයිදැයි පරීක්ෂා කිරීම
  • ගිනුම් බාධකය SSH අවහිර නොකරන බව තහවුරු කිරීම
  • සත්‍යාපන ගැටළු සකස් කිරීම

SSH සම්බන්ධතා ගැටළු ඉක්මනින් විසඳීමට මෙම නිරාකරණ පියවර භාවිතා කරන්න.

6. FAQ (නිතර අසන ප්‍රශ්න)

මෙම කොටස සාමාන්‍ය SSH-සම්බන්ධ ප්‍රශ්න සහ විසඳුම් සලසා ඔබගේ SSH අත්දැකීම ආරක්ෂාව රැකගෙන වැඩිදියුණු කරයි.

6.1 SSH කාලය ඉක්මවන (Timeout) අවස්ථා වැළැක්වීම කෙසේද?

SSH සම්බන්ධතා ක්‍රියා නොකිරීමෙන් පසු විසන්ධි වුවහොත්, පහත සැකසුම් උත්සාහ කරන්න.

6.1.1 සේවාදායක-පාර්ශ්ව වින්‍යාසය

/etc/ssh/sshd_config සංස්කරණය කර පහත එකතු කරන්න:

ClientAliveInterval 60
ClientAliveCountMax 3

වෙනස්කම් යෙදීමට SSH නැවත ආරම්භ කරන්න:

sudo systemctl restart ssh

6.1.2 ගනුදෙනුකරු-පාර්ශ්ව වින්‍යාසය

දේශීය SSH වින්‍යාස ගොනුව ~/.ssh/config සංස්කරණය කරන්න:

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3

6.2 මගේ SSH මුරපදය අමතක වූවා නම් මොකද කළ යුතුද?

6.2.1 ඔබට සේවාදායකයට භෞතික ප්‍රවේශය තිබේ නම්

  1. GRUB මෙනුවෙන් ප්‍රතිසාධන (recovery) ප්‍රකාරයට ඇරඹීම.
  2. පහත විධානයෙන් මුරපදය නැවත සකසන්න:
    passwd username
    
  1. පද්ධතිය නැවත ආරම්භ කරන්න.

6.2.2 ඔබට සේවාදායකයට භෞතිකව ප්‍රවේශ වීමට නොහැකි නම් (උදා: Cloud VPS)

  • වලාකුළු සේවා සපයන්නාගේ console විශේෂාංගය භාවිතා කර සේවාදායකයට ප්‍රවේශ වන්න.
  • මුරපද වලට පමණක් පදනම් වීම වෙනුවට SSH යතුරු සත්‍යාපනය සකසන්න.

6.3 Windows හි SSH භාවිතා කිරීම කෙසේද?

6.3.1 PowerShell භාවිතා කිරීම

Windows 10 සහ ඊට පසු අනුවාද වල අන්තර්ගත SSH ග්‍රාහකයක් ඇත. PowerShell විවෘත කර ධාවනය කරන්න:

ssh username@server-ip-address

6.3.2 PuTTY භාවිතා කිරීම

  1. ඩවුන්ලෝඩ් කර ස්ථාපනය කරන්න PuTTY .
  2. සේවාදායකයේ IP ලිපිනය Host Name (or IP address) හි ඇතුළත් කරන්න .
  3. SSH සම්බන්ධතා වර්ගය ලෙස තෝරා Open ක්ලික් කරන්න .
  4. ඔබගේ පරිශීලක නාමය සහ මුරපදය සමඟ ලොග් ඉන් වන්න.

6.4 Ubuntu WSL (Windows Subsystem for Linux) හි SSH සකස් කිරීමේ ක්‍රමය?

WSL හි SSH සක්‍රිය කිරීමට, පහත පියවර අනුගමනය කරන්න.

6.4.1 SSH සේවාදායකය ස්ථාපනය කිරීම

sudo apt update && sudo apt install openssh-server

6.4.2 SSH වින්‍යාස කිරීම

/etc/ssh/sshd_config සංස්කරණය කර මුරපද සත්‍යාපනය සක්‍රිය කරන්න:

PasswordAuthentication yes

WSL පෙරනිමි ලෙස systemd භාවිතා නොකරන බැවින්, SSH අතින් ආරම්භ කරන්න:

sudo service ssh start

6.5 මට ගත යුතු අතිරේක ආරක්ෂක පියවර මොනවාද?

6.5.1 Fail2Ban ස්ථාපනය කිරීම

Fail2Ban ස්ථාපනය කිරීමෙන් brute-force ප්‍රහාර වලින් ආරක්ෂා වන්න:

sudo apt install fail2ban -y

/etc/fail2ban/jail.local වින්‍යාස ගොනුව සංස්කරණය කරන්න:

[sshd]
enabled = true
port = 22
maxretry = 3
findtime = 600
bantime = 3600

Fail2Ban නැවත ආරම්භ කරන්න:

sudo systemctl restart fail2ban

6.5.2 SSH පෝට් වෙනස් කිරීම

පෙරනිමි SSH පෝට් වෙනස් කිරීමට /etc/ssh/sshd_config සංස්කරණය කරන්න:

Port 2200

SSH නැවත ආරම්භ කර firewall සැකසුම් යාවත්කාලීන කරන්න:

sudo ufw allow 2200/tcp

6.6 SSH ලොග් රියල්-ටයිම් ලෙස නිරීක්ෂණය කිරීමේ ක්‍රමය?

SSH ලොග් රියල්-ටයිම් ලෙස බැලීමට, මෙය භාවිතා කරන්න:

sudo journalctl -u ssh -f

පෙර ලොග් පරීක්ෂා කිරීමට:

sudo cat /var/log/auth.log | grep ssh

6.7 SSH භාවිතය පහසු කිරීමේ ක්‍රමය?

6.7.1 පහසු ලොග් ඉන් සඳහා .ssh/config භාවිතය

~/.ssh/config තුළ නිතර භාවිතා කරන SSH සම්බන්ධතා සුරකින්න:

Host myserver
    HostName 192.168.1.100
    User user
    Port 2200
    IdentityFile ~/.ssh/id_rsa

දැන් ඔබට මෙය භාවිතා කර සම්බන්ධ විය හැක:

ssh myserver

6.7.2 ssh-agent භාවිතයෙන් මුරපදය නැවත නැවත ඇතුළත් කිරීමෙන් වැළැක්වීම

ධාවනය කරන්න:

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa

මෙය සෑම වරක්ම පාරිභාෂාව ඇතුළත් නොකර SSH සම්බන්ධතා සලස්වයි.

සාරාංශය

මෙම කොටස සාමාන්‍ය SSH-සම්බන්ධ ප්‍රශ්නවලට පිළිතුරු ලබා දී ඇත, ඒ අතර:

  • SSH කාලය ඉක්මවනවා වැලැක්වීම
  • මුරපදය අමතක වූ විට ප්‍රතිසාධනය
  • Windows සහ WSL හි SSH භාවිතය
  • අතිරේක ආරක්ෂක පියවර අනුගමනය කිරීම
  • SSH ලොග් නිරීක්ෂණය
  • SSH භාවිතය පහසු කිරීම

මෙම උපදෙස් අනුගමනය කිරීමෙන්, ඔබට දුරස්ථ සේවාදායක කළමනාකරණය සඳහා ආරක්ෂිත සහ කාර්යක්ෂම SSH පරිසරයක් සකස් කළ හැක.

සම්බන්ධ ලිපි

Related

1. හැඳින්වීම Ubuntu හි SSH භාවිතා කිරීමෙන්, ඔබට ඔබේ සේවාදායකය හෝ පරිගණකය දුරස්ථව ආරක්ෂිතව ප්‍රවේශ කර කළමනාකරණය කළ හැක. ම[…]

年収訴求