উবুন্টুতে সম্পূর্ণ SSH সেটআপ গাইড: ইনস্টলেশন, সিকিউরিটি হার্ডেনিং, উন্নত কনফিগারেশন এবং ট্রাবলশুটিং

目次

১. পরিচিতি

উবুন্টুতে SSH কনফিগার করা রিমোট সার্ভার পরিচালনার জন্য অপরিহার্য। SSH (সিকিউর শেল) একটি প্রোটোকল যা নিরাপদ এনক্রিপ্টেড যোগাযোগ প্রদান করে, ব্যবহারকারীদের রিমোটভাবে সার্ভার অ্যাক্সেস করতে, কমান্ড চালাতে এবং ফাইল স্থানান্তর করতে সক্ষম করে।

এই প্রবন্ধটি উবুন্টুতে SSH কনফিগার করার পদ্ধতি ব্যাখ্যা করে, মৌলিক ইনস্টলেশন ধাপ থেকে উন্নত নিরাপত্তা ব্যবস্থা পর্যন্ত।

১.১ কেন উবুন্টুতে SSH কনফিগার করবেন?

১.১.১ SSH কী?

SSH (সিকিউর শেল) একটি প্রোটোকল যা নেটওয়ার্কের মাধ্যমে নিরাপদ যোগাযোগ সক্ষম করে। এটি সাধারণত রিমোট সার্ভারে লগইন করা, ফাইল স্থানান্তর করা এবং টানেলিং (পোর্ট ফরোয়ার্ডিং) এর জন্য ব্যবহৃত হয়। প্রচলিত টেলনেট বা FTP এর তুলনায়, SSH সব যোগাযোগ এনক্রিপ্ট করে, শক্তিশালী নিরাপত্তা প্রদান করে।

১.১.২ উবুন্টুতে কখন SSH প্রয়োজন

উবুন্টু রিমোটভাবে পরিচালনা করতে SSH ব্যবহৃত হওয়ার সাধারণ পরিস্থিতিগুলি হল:

  • ক্লাউড সার্ভার প্রশাসন : AWS, GCP, Vultr এবং অন্যান্য লিনাক্স সার্ভার সাধারণত SSH এর মাধ্যমে অ্যাক্সেস করা হয়।
  • LAN পরিবেশে রিমোট অপারেশন : অভ্যন্তরীণ সার্ভার বা ডেভেলপমেন্ট মেশিন রিমোটভাবে অ্যাক্সেস করা।
  • IoT ডিভাইস পরিচালনা : র‌্যাস্পবেরি পাই এর মতো এমবেডেড সিস্টেম রিমোটভাবে নিয়ন্ত্রণ করা।

ডিফল্টভাবে, উবুন্টুতে SSH সার্ভার নিষ্ক্রিয় থাকে, তাই SSH অ্যাক্সেস সক্রিয় করতে এটি ম্যানুয়ালি ইনস্টল এবং কনফিগার করতে হয়।

২. মৌলিক SSH কনফিগারেশন

উবুন্টুতে SSH ব্যবহার করতে, আপনাকে SSH সার্ভার (OpenSSH) ইনস্টল করতে হবে এবং সঠিকভাবে কনফিগার করতে হবে। এই বিভাগে কীভাবে SSH ইনস্টল করতে হয়, মৌলিক সেটিংস সমন্বয় করতে হয়, ফায়ারওয়াল কনফিগার করতে হয় এবং সার্ভারে সংযোগ করতে হয় তা ব্যাখ্যা করা হয়েছে।

২.১ OpenSSH ইনস্টল এবং চালু করা

২.১.১ OpenSSH কী?

OpenSSH (ওপেন সিকিউর শেল) হল SSH প্রোটোকলের একটি ওপেন-সোর্স বাস্তবায়ন। এটি রিমোট সংযোগ, নিরাপদ ফাইল ট্রান্সফার (SCP এবং SFTP), এবং পোর্ট ফরোয়ার্ডিং সমর্থন করে।

২.১.২ OpenSSH ইনস্টল করা

উবুন্টু ডিফল্টভাবে SSH সার্ভার অন্তর্ভুক্ত করে না, তাই নিচের কমান্ড ব্যবহার করে এটি ইনস্টল করুন:

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

এটি প্যাকেজ তালিকা আপডেট করে এবং OpenSSH সার্ভার ইনস্টল করে।

২.১.৩ SSH চালু করা এবং অটো-স্টার্ট সক্রিয় করা

ইনস্টলেশনের পরে, SSH সার্ভার চালু করুন এবং স্বয়ংক্রিয় স্টার্টআপ সক্রিয় করুন:

sudo systemctl enable --now ssh

enable অপশনটি নিশ্চিত করে যে OS বুট হলে SSH স্বয়ংক্রিয়ভাবে শুরু হবে।

২.১.৪ SSH স্ট্যাটাস পরীক্ষা করা

নিশ্চিত করুন যে SSH চলছে:

systemctl status ssh

যদি আউটপুটে active (running) দেখায়, তবে 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 দেখায়, তবে ম্যানুয়ালি SSH চালু করুন:

sudo systemctl start ssh

২.২ ফায়ারওয়াল কনফিগার করা (UFW)

উবুন্টুতে ufw (Uncomplicated Firewall) নামে একটি সহজ ফায়ারওয়াল অন্তর্ভুক্ত আছে। আপনাকে এর মাধ্যমে SSH সংযোগ অনুমোদন করতে হবে।

২.২.১ UFW স্ট্যাটাস পরীক্ষা করা

sudo ufw status

উদাহরণ আউটপুট (inactive):

Status: inactive

উদাহরণ আউটপুট (active):

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

২.২.২ SSH অনুমোদন করা

sudo ufw allow ssh

অথবা স্পষ্টভাবে:

sudo ufw allow 22/tcp

২.২.৩ UFW সক্রিয় করা

sudo ufw enable

২.২.৪ UFW নিয়ম যাচাই করা

sudo ufw status verbose

উদাহরণ:

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

২.৩ মৌলিক SSH সংযোগ পদ্ধতি

SSH চালু হওয়ার পরে, ক্লায়েন্ট মেশিন থেকে সংযোগ করুন।

২.৩.১ Linux/macOS থেকে সংযোগ করা

ssh username@server-ip-address

উদাহরণ:

ssh user@192.168.1.100

প্রথম সংযোগে আপনি একটি নিরাপত্তা সতর্কতা দেখতে পারেন:

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)?

yes টাইপ করুন প্রক্রিয়া চালিয়ে যেতে।

2.3.2 Windows থেকে সংযোগ

আপনি PowerShell অথবা PuTTY ব্যবহার করতে পারেন।

PowerShell ব্যবহার করে (Windows 10+‑এ SSH অন্তর্ভুক্ত আছে):

ssh username@server-ip-address

PuTTY ব্যবহার করে:

  1. the official site থেকে PuTTY ডাউনলোড করুন
  2. PuTTY খুলুন এবং Host Name (or IP address)‑এ সার্ভারের IP লিখুন
  3. সংযোগের ধরন হিসেবে SSH নির্বাচন করুন
  4. Open‑এ ক্লিক করুন এবং লগইন করুন

উপসংহার

এই অংশে উবুন্টুতে SSH সেটআপের মৌলিক বিষয়গুলো আলোচনা করা হয়েছে:

  • OpenSSH কীভাবে ইনস্টল এবং চালু করবেন
  • UFW দিয়ে কীভাবে SSH সংযোগ অনুমোদন করবেন
  • Linux/macOS এবং Windows থেকে কীভাবে সংযোগ করবেন

3. SSH নিরাপত্তা শক্তিশালীকরণ

SSH শক্তিশালী, তবে ডিফল্ট সেটিংস রেখে দিলে নিরাপত্তা ঝুঁকি বাড়ে। আক্রমণকারীরা প্রায়ই ব্রুট‑ফোর্স লগইন প্রচেষ্টা বা পোর্ট স্ক্যান করে। SSH নিরাপত্তা শক্তিশালী করা অপরিহার্য।

3.1 রুট লগইন নিষ্ক্রিয় করুন

রুট লগইন সম্পূর্ণ সিস্টেমের নিয়ন্ত্রণ দেয় এবং আক্রমণকারীদের প্রধান লক্ষ্য। এটি নিষ্ক্রিয় করলে নিরাপত্তা বাড়ে।

3.1.1 ধাপসমূহ

  1. SSH কনফিগারেশন ফাইল সম্পাদনা করুন:
    sudo nano /etc/ssh/sshd_config
    
  1. লাইনটি পরিবর্তন করুন:
    PermitRootLogin no
    
  1. SSH পুনরায় চালু করুন:
    sudo systemctl restart ssh
    
  1. পরিবর্তন নিশ্চিত করুন:
    sudo grep PermitRootLogin /etc/ssh/sshd_config
    

যদি আউটপুট PermitRootLogin no হয়, তবে সেটিং প্রয়োগ হয়েছে।

3.2 পাসওয়ার্ড প্রমাণীকরণ নিষ্ক্রিয় করুন এবং কী প্রমাণীকরণ ব্যবহার করুন

পাবলিক কী প্রমাণীকরণ পাসওয়ার্ডের চেয়ে নিরাপদ এবং ব্রুট‑ফোর্স আক্রমণের ঝুঁকি কমায়।

3.2.1 SSH কী তৈরি করা

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

এটি দুটি ফাইল তৈরি করে:

  • id_rsa (প্রাইভেট কী) — লোকালিতে রাখুন, কখনো শেয়ার করবেন না
  • id_rsa.pub (পাবলিক কী) — সার্ভারে আপলোড করুন

3.2.2 পাবলিক কী আপলোড করা

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

3.2.3 পাসওয়ার্ড প্রমাণীকরণ নিষ্ক্রিয় করা

sudo nano /etc/ssh/sshd_config

সম্পাদনা করুন:

PasswordAuthentication no

SSH পুনরায় চালু করুন:

sudo systemctl restart ssh

3.3 নির্দিষ্ট ব্যবহারকারীদের জন্যই SSH অ্যাক্সেস অনুমোদন করুন

SSH নিরাপত্তা বাড়াতে, আপনি অ্যাক্সেস সীমাবদ্ধ করতে পারেন যাতে শুধুমাত্র নির্দিষ্ট ব্যবহারকারীরা লগইন করতে পারে।

3.3.1 কনফিগারেশন ধাপসমূহ

  1. SSH কনফিগারেশন ফাইল /etc/ssh/sshd_config খুলুন:
    sudo nano /etc/ssh/sshd_config
    
  1. SSH মাধ্যমে অ্যাক্সেসের অনুমোদিত ব্যবহারকারীদের যোগ করুন:
    AllowUsers username1 username2
    
  1. সেটিংস প্রয়োগের জন্য SSH পুনরায় চালু করুন:
    sudo systemctl restart ssh
    

3.4 SSH পোর্ট পরিবর্তন

পোর্ট 22 আক্রমণকারীদের দ্বারা প্রায়ই লক্ষ্য করা হয়, তাই ডিফল্ট পোর্ট পরিবর্তন করলে নিরাপত্তা বাড়ে।

3.4.1 কনফিগারেশন ধাপসমূহ

  1. SSH কনফিগারেশন ফাইল খুলুন:
    sudo nano /etc/ssh/sshd_config
    
  1. পোর্ট সেটিং পরিবর্তন করুন, উদাহরণস্বরূপ:
    Port 2200
    
  1. SSH পুনরায় চালু করুন:
    sudo systemctl restart ssh
    

3.4.2 ফায়ারওয়াল সেটিংস আপডেট করা

পোর্ট পরিবর্তন করলে, UFW আপডেট করুন:

sudo ufw allow 2200/tcp

নতুন নিয়ম পরীক্ষা করুন:

sudo ufw status

3.5 Fail2Ban দিয়ে ব্রুট‑ফোর্স আক্রমণ প্রতিরোধ করুন

Fail2Ban ব্যর্থ লগইন প্রচেষ্টা সনাক্ত করে এবং নির্দিষ্ট সময়ের জন্য আক্রমণকারী 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

সেটিংস পরিবর্তন করুন:

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

3.5.3 Fail2Ban পুনরায় চালু করুন

sudo systemctl restart fail2ban

3.5.4 ব্যান তালিকা পরীক্ষা করুন

sudo fail2ban-client status sshd

উপসংহার

এই অংশে SSH নিরাপত্তা বাড়ানোর পদ্ধতিগুলো ব্যাখ্যা করা হয়েছে:

  • রুট লগইন নিষ্ক্রিয় করুন
  • পাসওয়ার্ড প্রমাণীকরণ নিষ্ক্রিয় করুন এবং কী প্রমাণীকরণ সক্রিয় করুন
  • নির্দিষ্ট ব্যবহারকারীদের জন্য SSH অ্যাক্সেস সীমাবদ্ধ করুন
  • SSH পোর্ট পরিবর্তন করুন
  • অননুমোদিত প্রচেষ্টা ব্লক করতে Fail2Ban ব্যবহার করুন

এই সেটিংসগুলি প্রয়োগ করলে একটি নিরাপদ SSH পরিবেশ তৈরি হয়।

4. উন্নত SSH কনফিগারেশন

বেসিক SSH কনফিগারেশন এবং সিকিউরিটি হার্ডেনিং সম্পন্ন হলে, আপনি উন্নত ফিচারগুলোর দিকে অগ্রসর হতে পারেন যা নমনীয়তা এবং নিরাপত্তা বাড়ায়। এই বিভাগে ssh.socket ম্যানেজমেন্ট (Ubuntu 22.10+), SSH টানেল, একাধিক পোর্টে শোনা, এবং IP-ভিত্তিক অ্যাক্সেস কন্ট্রোল কভার করা হয়েছে।

4.1 Ubuntu 22.10+ এ ssh.socket ব্যবহার করা

Ubuntu 22.10+ এ, SSH ssh.service এর পরিবর্তে ssh.socket দ্বারা পরিচালিত হতে পারে। এই সকেট-ভিত্তিক অ্যাক্টিভেশন প্রয়োজন অনুযায়ী SSH চালু করে, ফলে সিস্টেম রিসোর্স সাশ্রয় হয়।

4.1.1 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 সক্রিয় বা নিষ্ক্রিয় করুন

সকেট সক্রিয় করুন:

sudo systemctl enable --now ssh.socket

ক্লাসিক ssh.service এ ফিরে যান:

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

4.2 SSH টানেলিং (পোর্ট ফরোয়ার্ডিং)

SSH টানেলিং স্থানীয় এবং রিমোট সিস্টেমের মধ্যে নিরাপদ যোগাযোগ চ্যানেল স্থাপন করে।

4.2.1 স্থানীয় পোর্ট ফরোয়ার্ডিং

রিমোট ডাটাবেস বা অভ্যন্তরীণ সার্ভিসের সাথে নিরাপদে সংযোগের জন্য উপযোগী।

উদাহরণ: পোর্ট 3306-এ রিমোট MySQL সার্ভার অ্যাক্সেস করুন

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

4.2.2 রিভার্স পোর্ট ফরোয়ার্ডিং

রিমোট সার্ভারের মাধ্যমে স্থানীয় সার্ভিস প্রকাশ করুন।

উদাহরণ: রিমোট পোর্ট 8080-এ স্থানীয় ওয়েব সার্ভার প্রকাশ করুন

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

4.2.3 ডাইনামিক পোর্ট ফরোয়ার্ডিং (SOCKS প্রক্সি)

অ্যানোনিমাস ব্রাউজিংয়ের জন্য SSH-কে SOCKS প্রক্সি হিসেবে ব্যবহার করুন।

ssh -D 1080 username@server-ip-address

4.3 একাধিক পোর্টে শোনা

বিভিন্ন নেটওয়ার্ক পরিবেশে নমনীয়তার জন্য SSH একাধিক পোর্টে শোনাতে পারে।

4.3.1 কনফিগারেশন ধাপসমূহ

  1. /etc/ssh/sshd_config সম্পাদনা করুন:
    sudo nano /etc/ssh/sshd_config
    
  1. একাধিক Port লাইন যোগ করুন:
    Port 22
    Port 2200
    
  1. SSH পুনরায় চালু করুন:
    sudo systemctl restart ssh
    
  1. UFW দিয়ে নতুন পোর্ট অনুমোদন করুন:
    sudo ufw allow 2200/tcp
    

4.4 নির্দিষ্ট IP ঠিকানা থেকে শুধুমাত্র SSH অনুমোদন করুন

IP ঠিকানা দ্বারা SSH অ্যাক্সেস সীমাবদ্ধ করা শক্তিশালী নিরাপত্তা নিয়ন্ত্রণ প্রদান করে।

4.4.1 /etc/hosts.allow কনফিগার করুন

sudo nano /etc/hosts.allow

অনুমোদিত IP ঠিকানা যোগ করুন:

sshd: 192.168.1.100

4.4.2 /etc/hosts.deny কনফিগার করুন

sudo nano /etc/hosts.deny

অন্যান্য সবকে অস্বীকার করুন:

sshd: ALL

উপসংহার

এই বিভাগে উন্নত SSH কনফিগারেশন বিষয়গুলো আলোচনা করা হয়েছে:

  • Ubuntu 22.10+ এ ssh.socket পরিচালনা
  • SSH টানেল (পোর্ট ফরোয়ার্ডিং) ব্যবহার
  • একাধিক SSH পোর্টে শোনা
  • নির্দিষ্ট IP ঠিকানার জন্য SSH অ্যাক্সেস সীমাবদ্ধ করা

এই কনফিগারেশনগুলি প্রয়োগ করলে নিরাপত্তা এবং ব্যবহারযোগ্যতা উভয়ই বৃদ্ধি পায়।

5. SSH সমস্যার সমাধান

সঠিক কনফিগারেশন সত্ত্বেও, কখনও কখনও SSH সংযোগ ব্যর্থ হতে পারে। এই বিভাগে সাধারণ SSH সমস্যাগুলো এবং তাদের সমাধান ব্যাখ্যা করা হয়েছে।

5.1 যখন SSH সংযোগ করতে পারে না

যদি SSH Connection refused রিটার্ন করে বা টাইম আউট হয়, সম্ভাব্য কারণগুলোতে সার্ভিস সমস্যা, পোর্টের ভুল কনফিগারেশন, অথবা ফায়ারওয়াল সীমাবদ্ধতা অন্তর্ভুক্ত।

5.1.1 SSH সার্ভিস চালু নেই

sudo systemctl status ssh

সমাধান:

  • যদি inactive বা failed হয়, SSH পুনরায় চালু করুন:
    sudo systemctl restart ssh
    
  • অটো-স্টার্ট সক্রিয় করুন:
    sudo systemctl enable ssh
    

5.1.2 SSH পোর্ট খোলা নেই

ssh -p 2200 username@server-ip-address

খোলা পোর্টগুলো পরীক্ষা করুন:

sudo netstat -tulnp | grep ssh

অথবা:

ss -tulnp | grep ssh

5.1.3 Firewall (UFW) Blocking SSH

sudo ufw status

SSH অনুমোদন করুন:

sudo ufw allow 22/tcp

যদি কাস্টম পোর্ট ব্যবহার করেন:

sudo ufw allow 2200/tcp

5.2 Authentication Errors

5.2.1 Incorrect Username or Password

ssh username@server-ip-address

5.2.2 Public Key Not Installed Correctly

cat ~/.ssh/authorized_keys

নিশ্চিত করুন এটি স্থানীয় id_rsa.pub এর সাথে মেলে।

5.2.3 Incorrect Permissions on .ssh Directory

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

এছাড়াও নিশ্চিত করুন:

chmod 755 /home/username

5.3 Unstable SSH Connections or Unexpected Disconnections

5.3.1 Adjust ClientAliveInterval

ClientAliveInterval 60
ClientAliveCountMax 3
sudo systemctl restart ssh

5.3.2 Adjust Local Client Settings

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3

5.4 Viewing SSH Logs

5.4.1 View Real-Time Logs

sudo journalctl -u ssh -f

5.4.2 View Past Logs

sudo cat /var/log/auth.log | grep ssh
sudo grep "Failed password" /var/log/auth.log

উপসংহার

এই বিভাগে সাধারণ SSH সমস্যাগুলি এবং সেগুলি কীভাবে সমাধান করা যায় তা ব্যাখ্যা করা হয়েছে:

  • SSH সেবা চলছে কিনা পরীক্ষা করুন
  • খোলা পোর্ট যাচাই করুন
  • ফায়ারওয়াল সেটিংস পরীক্ষা করুন
  • সঠিক কী প্রমাণীকরণ নিশ্চিত করুন
  • টাইমআউট এবং বিচ্ছিন্নতার সমস্যাগুলি সমাধান করুন
  • SSH লগ বিশ্লেষণ করুন

অধিকাংশ SSH সমস্যার মূল কারণ ভুল কনফিগারেশন বা নেটওয়ার্ক সীমাবদ্ধতা। সমস্যাগুলি দক্ষতার সাথে সমাধান করতে এই ট্রাবলশুটিং ধাপগুলি ব্যবহার করুন।

6. FAQ (Frequently Asked Questions)

এই বিভাগে SSH ব্যবহার এবং কনফিগারেশন সংক্রান্ত সাধারণ প্রশ্নের উত্তর দেওয়া হয়েছে।

6.1 How to Fix SSH Timeout Issues?

6.1.1 Server-Side Settings

ClientAliveInterval 60
ClientAliveCountMax 3
sudo systemctl restart ssh

6.1.2 Client-Side Settings

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3

6.2 What to Do If You Forget Your SSH Password?

6.2.1 If You Have Physical Access

  1. সিঙ্গল-ইউজার মোডে বুট করুন (GRUB থেকে recovery mode নির্বাচন করুন)
  2. পাসওয়ার্ড রিসেট করুন:
    passwd username
    
  1. সিস্টেম রিবুট করুন

6.2.2 If Physical Access Is Not Possible (Cloud VPS)

  • হোস্টিং পরিষেবা দ্বারা প্রদত্ত VPS কনসোল ব্যবহার করুন
  • পাবলিক কী প্রমাণীকরণ ব্যবহার করুন

6.3 How to Use SSH on Windows?

6.3.1 Using PowerShell

ssh username@server-ip-address

6.3.2 Using PuTTY

  1. ডাউনলোড ও ইনস্টল করুন PuTTY
  2. Host Name এ সার্ভারের IP ঠিকানা লিখুন
  3. সংযোগের ধরন হিসেবে SSH নির্বাচন করুন
  4. ব্যবহারকারীর নাম ও পাসওয়ার্ড দিয়ে লগইন করুন

6.4 How to Configure SSH on Ubuntu WSL?

6.4.1 Install SSH Server

sudo apt update && sudo apt install openssh-server

6.4.2 Modify SSH Settings

PasswordAuthentication yes

ম্যানুয়ালি SSH চালু করুন (WSL systemd ব্যবহার করে না):

sudo service ssh start

6.5 Additional Security Best Practices

6.5.1 Use Fail2Ban

sudo apt install fail2ban -y
[sshd]
enabled = true
port = 22
maxretry = 3
findtime = 600
bantime = 3600
sudo systemctl restart fail2ban

6.5.2 Change SSH Port

Port 2200
sudo ufw allow 2200/tcp

6.6 How to Monitor SSH Logs in Real Time?

sudo journalctl -u ssh -f
sudo cat /var/log/auth.log | grep ssh

6.7 Tips to Use SSH More Conveniently

6.7.1 Use .ssh/config for Simple Logins

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

তারপর সংযোগ করুন:

ssh myserver

6.7.2 Use ssh-agent

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

উপসংহার

এই বিভাগে SSH সম্পর্কিত প্রায়শই জিজ্ঞাসিত প্রশ্নগুলোর সারসংক্ষেপ দেওয়া হয়েছে।

  • SSH টাইমআউট সমস্যা কীভাবে ঠিক করবেন
  • ভুলে যাওয়া পাসওয়ার্ড কীভাবে পুনরুদ্ধার করবেন
  • Windows এবং WSL-এ SSH কীভাবে ব্যবহার করবেন
  • নিরাপত্তার সেরা অনুশীলন
  • SSH লগ কীভাবে চেক করবেন
  • .ssh/config ব্যবহার করে SSH কে আরও সুবিধাজনক করার টিপস

এই কৌশলগুলো প্রয়োগ করে, আপনি একটি নিরাপদ এবং দক্ষ SSH পরিবেশ তৈরি করতে পারেন এবং দূরবর্তী সার্ভারগুলো সহজে পরিচালনা করতে পারেন।