Port 23 Archives - To Learn Team https://tolearnteam.com/tag/port-23/ Learn about Everything Online Wed, 05 Aug 2026 17:09:03 +0000 en-US hourly 1 https://wordpress.org/?v=7.1.2 https://tolearnteam.com/wp-content/uploads/2026/07/cropped-Logo-32x32.png Port 23 Archives - To Learn Team https://tolearnteam.com/tag/port-23/ 32 32 CentOS 9 এ Telnet Server কিভাবে ইনস্টল ও কনফিগার করবেন? xinetd সহ ফুল বাংলা গাইড 2026 https://tolearnteam.com/centos-telnet-server-client-setup-bangla-xinetd/ Wed, 05 Aug 2026 14:26:26 +0000 http://tolearnteam.com/?p=2070 ভূমিকা: Telnet কি এবং কেন এখনো শিখবেন? Telnet হলো একটি পুরানো নেটওয়ার্ক প্রোটোকল যা দিয়ে রিমোট সার্ভারে কমান্ড-লাইন অ্যাক্সেস নেওয়া যায়। পোর্ট 23 ব্যবহার করে। সতর্কীকরণ: Telnet ইনসিকিউর!Telnet এর সব ডাটা,…

The post CentOS 9 এ Telnet Server কিভাবে ইনস্টল ও কনফিগার করবেন? xinetd সহ ফুল বাংলা গাইড 2026 appeared first on To Learn Team.

]]>
ভূমিকা: Telnet কি এবং কেন এখনো শিখবেন?

Telnet হলো একটি পুরানো নেটওয়ার্ক প্রোটোকল যা দিয়ে রিমোট সার্ভারে কমান্ড-লাইন অ্যাক্সেস নেওয়া যায়। পোর্ট 23 ব্যবহার করে।

সতর্কীকরণ: Telnet ইনসিকিউর!
Telnet এর সব ডাটা, ইউজারনেম, পাসওয়ার্ড প্লেইন টেক্সটে যায়। হ্যাকাররা নেটওয়ার্ক স্নিফ করে সহজেই চুরি করতে পারে। প্রোডাকশন সার্ভারে কখনো Telnet ব্যবহার করবেন না। SSH হলো মডার্ন ও সিকিউর বিকল্প।

তাহলে কেন শিখবেন?

  1. একাডেমিক পারপাস: পুরানো লিগ্যাসি সিস্টেম, নেটওয়ার্কিং ল্যাব, CCNA/CCNP কোর্সে এখনো Telnet লাগে।
  2. Troubleshooting: অনেক নেটওয়ার্ক ডিভাইস যেমন সুইচ, রাউটারে শুধু Telnet এনাবল থাকে।
  3. Conceptual Understanding: xinetd সুপার সার্ভার কিভাবে কাজ করে সেটা শেখার জন্য Telnet বেস্ট উদাহরণ।

এই আর্টিকেলে যা শিখবেন:

  1. CentOS 9 এ Telnet Server ও Client ইনস্টল
  2. xinetd দিয়ে Telnet সার্ভিস কনফিগার
  3. /etc/xinetd.d/telnet ফাইলের স্ট্রাকচার
  4. Firewalld দিয়ে পোর্ট 23 ওপেন করা
  5. Telnet ক্লায়েন্ট দিয়ে টেস্টিং
  6. একাডেমিক আলোচনা: Telnet vs SSH, xinetd এর কাজ

১. পূর্বশর্ত

বিষয়প্রয়োজনক্লারিফিকেশন
OSCentOS Stream 9 / RHEL 9 / AlmaLinux 9CentOS 7 এর কমান্ড আলাদা হবে
ইউজারroot অথবা sudo এক্সেসসিস্টেম ফাইল এডিট করতে লাগবে
নেটওয়ার্কসার্ভারের IP জানা থাকতে হবেip a কমান্ড দিয়ে চেক করুন
প্যাকেজtelnet-server, xinetd, telnetসার্ভার, সুপার ডেমন, ক্লায়েন্ট

স্পেশাল ইনস্ট্রাকশন: এই পুরো টেস্ট VM বা Internal Lab এ করবেন। পাবলিক IP তে Telnet চালু করা চরম বিপজ্জনক।


২. Step 1: প্রয়োজনীয় প্যাকেজ ইনস্টল করুন

CentOS 9 এ Telnet ২টি প্যাকেজে ভাগ করা: telnet হলো ক্লায়েন্ট, telnet-server হলো সার্ভার।

2.1. সার্ভার ও xinetd ইনস্টল

Bash

sudo dnf update -y
sudo dnf install telnet-server xinetd telnet -y

ক্লারিফিকেশন:

  1. telnet-server: আসল ডেমন। এটা /usr/sbin/in.telnetd ফাইল ইনস্টল করে।
  2. xinetd: Extended Internet Services Daemon। এটা পোর্ট 23 এ শুনে রাখে। কেউ কানেক্ট করলে in.telnetd চালু করে।
  3. telnet: ক্লায়েন্ট প্যাকেজ। অন্য সার্ভারে টেস্ট করার জন্য।

2.2. ইনস্টল ভেরিফাই করুন

rpm -qa | grep telnet
rpm -qa | grep xinetd
ls -l /usr/sbin/in.telnetd

আউটপুট আসবে:

Code

telnet-server-0.17-85.el9.x86_64
telnet-0.17-85.el9.x86_64
xinetd-2.3.15-32.el9.x86_64
-rwxr-xr-x. 1 root root 44416 Jan 10 2025 /usr/sbin/in.telnetd

in.telnetd ফাইল না পেলে ইনস্টল হয়নি।


৩. Step 2: xinetd দিয়ে Telnet সার্ভিস কনফিগার

CentOS 9 এ systemd socket নাই, তাই xinetd মাস্ট।

3.1. Telnet কনফিগ ফাইল তৈরি করুন

Bash

sudo nano /etc/xinetd.d/telnet

ফাইলে নিচের কনটেন্ট হুবহু পেস্ট করুন:

INI

#default: off

#description: The telnet server serves telnet sessions

service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
instances = 60
}

ডিরেক্টরি স্ট্রাকচার ও ফাইল ক্লারিফিকেশন:

লাইনকাজবিশেষ নোট
service telnetসার্ভিসের নাম ডিফাইন করে/etc/services এ telnet 23/tcp থাকতে হবে
disable = noসার্ভিস এনাবল করেyes থাকলে xinetd এই সার্ভিস লোড করবে না
server = /usr/sbin/in.telnetdকোন প্রোগ্রাম রান হবেএটা ভুল হলে is not executable এরর দিবে
user = rootin.telnetd root হিসেবে রান হবেTelnet এ লগইন করার পর আপনার ইউজারে সুইচ হবে
instances = 60একসাথে 60 টা কানেকশন এলাওDDoS প্রতিরোধের জন্য লিমিট

সেভ করুন: Ctrl + O → Enter → Ctrl + X

3.2. xinetd চালু ও এনাবল করুন

sudo systemctl start xinetd
sudo systemctl enable xinetd
sudo systemctl status xinetd

Active: active (running) দেখাতে হবে। এরর থাকলে sudo journalctl -u xinetd -n 50 দেখুন।


৪. Step 3: ফায়ারওয়াল কনফিগার করুন

ডিফল্টভাবে CentOS এর firewalld পোর্ট 23 ব্লক করে রাখে।

sudo firewall-cmd –permanent –add-port=23/tcp
sudo firewall-cmd –reload
sudo firewall-cmd –list-ports

ক্লারিফিকেশন: --permanent দিলে রিবুটের পরও রুল থাকবে। --reload দিয়ে নতুন রুল অ্যাক্টিভ করুন।


৫. Step 4: Telnet সার্ভিস টেস্ট করুন

5.1. লোকালহোস্ট থেকে টেস্ট

সার্ভারের ভিতরেই টেস্ট করুন:

Bash

sudo ss -tulpn | grep :23

আউটপুট:

Code

tcp LISTEN 0 64 *:23 *:* users:(("xinetd",pid=1234,fd=5))

এটা দেখালে xinetd পোর্ট 23 এ শুনছে।

এবার কানেক্ট করুন:

Bash

telnet localhost

login: প্রম্পট আসবে। নন-রুট ইউজার দিয়ে লগইন করুন।

গুরুত্বপূর্ণ: CentOS এ ডিফল্টভাবে root ইউজার Telnet দিয়ে লগইন করতে পারে না। /etc/securetty ফাইলে pts/0 অ্যাড করতে হয়, কিন্তু এটা সিকিউরিটি রিস্ক। তাই নরমাল ইউজার বানান:

Bash

sudo adduser testuser
sudo passwd testuser

5.2. অন্য মেশিন থেকে টেস্ট

আপনার পিসি বা অন্য লিনাক্স থেকে:

Bash

telnet 192.168.1.100 # এখানে আপনার সেন্টওএস সার্ভারের IP দিন

ip a কমান্ড দিয়ে সার্ভারের IP বের করুন।

লগইন সাকসেস হলে who বা w কমান্ড দিয়ে দেখুন:

Code

testuser pts/1 2026-08-05 18:30 (192.168.1.50)

৬. Step 5: Telnet Client ব্যবহার

ক্লায়েন্ট প্যাকেজ দিয়ে অন্য ডিভাইসে কানেক্ট করতে পারবেন।

সিনট্যাক্স:

Bash

telnet [hostname/IP] [port]

উদাহরণ:

  1. ডিফল্ট পোর্ট 23 এ কানেক্ট:

Bash

telnet 10.0.0.5
  1. অন্য পোর্ট টেস্ট করা – পোর্ট খোলা আছে কিনা চেক:

Bash

telnet google.com 80

Connected to google.com দেখালে পোর্ট 80 ওপেন। এটা নেটওয়ার্ক ট্রাবলশুটিং এর জন্য Telnet এর সবচেয়ে বৈধ ব্যবহার।
3. বের হওয়া: Ctrl + ] চাপুন, তারপর quit লিখে Enter দিন।


৭. একাডেমিক আলোচনা: Telnet vs SSH এবং xinetd এর ভূমিকা

7.1. কেন Telnet বাদ দিয়ে SSH ব্যবহার করবেন?

ফিচারTelnetSSH – Secure Shell
এনক্রিপশননাই। সব প্লেইন টেক্সটAES, ChaCha20 দিয়ে এনক্রিপ্টেড
পোর্ট2322
Authenticationশুধু পাসওয়ার্ডপাসওয়ার্ড + Public Key
Data IntegrityনাইHMAC দিয়ে ভেরিফাই করে
ব্যবহারল্যাব, পুরানো ডিভাইসসব প্রোডাকশন সার্ভার

সিদ্ধান্ত: Telnet হলো পোস্টকার্ড পাঠানো। রাস্তায় যে কেউ পড়তে পারবে। SSH হলো সিল করা খামে চিঠি পাঠানো।

7.2. xinetd কি? কেন দরকার?

xinetd হলো “Super Server”। আগে প্রতিটা সার্ভিস যেমন FTP, Telnet, TFTP এর জন্য আলাদা ডেমন মেমোরিতে চলত। এতে RAM নষ্ট হতো।

xinetd সব পোর্টে একাই শুনে থাকে। যখন পোর্ট 23 এ রিকোয়েস্ট আসে, তখনই শুধু in.telnetd প্রোগ্রাম চালু করে। কাজ শেষে আবার বন্ধ করে দেয়। এতে রিসোর্স সেভ হয়।

মডার্ন সিস্টেমে: systemd এই কাজ socket activation দিয়ে করে। তাই xinetd এখন লিগ্যাসি। কিন্তু কনসেপ্ট বোঝার জন্য জরুরি।

7.3. ডিরেক্টরি স্ট্রাকচার

  1. /etc/xinetd.conf: মেইন কনফিগ ফাইল। গ্লোবাল সেটিংস থাকে।
  2. /etc/xinetd.d/: ডিরেক্টরি। প্রতিটা সার্ভিসের জন্য আলাদা ফাইল। telnet, tftp, rsync ইত্যাদি।
  3. /usr/sbin/in.telnetd: আসল Telnet ডেমন বাইনারি।
  4. /etc/services: পোর্ট নাম্বার vs সার্ভিস নামের ম্যাপিং। telnet 23/tcp এখানে ডিফাইন করা।

৮. Telnet ডিজেবল করা – সিকিউরিটি বেস্ট প্র্যাকটিস

কাজ শেষ হলে অবশ্যই বন্ধ করুন:

sudo systemctl stop xinetd
sudo systemctl disable xinetd
sudo firewall-cmd –permanent –remove-port=23/tcp
sudo firewall-cmd –reload

অথবা /etc/xinetd.d/telnet ফাইলে disable = yes করে systemctl restart xinetd দিন।


৯. উপসংহার

আপনি এখন CentOS 9 এ Telnet সার্ভার ও ক্লায়েন্ট কনফিগার করতে পারেন। xinetd এর কনফিগারেশন, ফায়ারওয়াল রুল, এবং সিকিউরিটি ইমপ্লিকেশন সবই জানলেন।

মনে রাখবেন: শুধু শেখার জন্য Telnet ব্যবহার করুন। যেকোনো রিয়েল সার্ভারের জন্য SSH ব্যবহার বাধ্যতামূলক।

সিরিজের পরবর্তী পর্ব: CentOS এ SSH Server Hardening - Key-Based Authentication ও Port Change। সেখানে আমরা সিকিউর রিমোট অ্যাক্সেস শিখব।

ToLearnTeam.com এর সাথে থাকুন। কোনো এরর পেলে কমেন্টে জানান। Happy Learning!


প্রশ্ন: আপনার ল্যাবে কি Telnet সাকসেসফুলি রান করেছে? ss -tulpn | grep :23 এর আউটপুট কি এসেছে?



আপনি যদি VMware বা VirtualBox এ CentOS চালান, তাহলে মাউস কার্সর VM এর ভিতরে “আটকে যায়”। এটা নরমাল। বের করার উপায়:



১. VirtualBox এ কার্সর বের করা

শর্টকাট কী: Right Ctrl চাপুন

মানে কিবোর্ডের ডান পাশের Ctrl কী। একবার চাপলেই কার্সর VM থেকে বের হয়ে আপনার মূল OS এ চলে আসবে।

নোট: VirtualBox এর নিচে ডান কোণায় দেখবেন Right Ctrl লেখা আছে। সেটাই Host Key।

যদি কাজ না করে:
VirtualBox → File → Preferences → Input → Host Key Combination চেক করুন। ওখানে অন্য কী সেট করা থাকতে পারে।

২. VMware Workstation/Player এ কার্সর বের করা

শর্টকাট কী: Ctrl + Alt একসাথে চাপুন

Ctrl + Alt চাপলেই কার্সর রিলিজ হবে।

আরও সহজ: মাউস VM উইন্ডোর বাইরে নিয়ে গেলেই অটো রিলিজ হয়ে যায়, যদি VMware Tools ইনস্টল থাকে।

৩. VMware Tools / VirtualBox Guest Additions ইনস্টল করলে সুবিধা

এই দুইটা ইনস্টল করলে মাউস আর আটকাবে না। Seamless ভাবে VM থেকে Host এ যাওয়া-আসা করবে।

CentOS এ VMware Tools ইনস্টল:

Bash

sudo dnf install open-vm-tools open-vm-tools-desktop -y
sudo reboot

VirtualBox Guest Additions ইনস্টল:

Bash

sudo dnf install kernel-devel kernel-headers gcc make perl -y
sudo dnf install epel-release -y
sudo dnf install dkms -y

তারপর VirtualBox মেনু থেকে Devices → Insert Guest Additions CD Image → CentOS এ মাউন্ট করে VBoxLinuxAdditions.run রান করুন।

৪. যদি CLI তে থাকেন, মাউস লাগে না

CentOS Minimal Install হলে GUI নাই, শুধু টার্মিনাল। সেখানে মাউসের দরকার নাই। Tab, Arrow key, Ctrl + C, Ctrl + Z দিয়ে কাজ করবেন।

টার্মিনাল থেকে বের হতে: exit লিখে Enter দিন। SSH হলে সেশন ক্লোজ হবে।


সারসংক্ষেপ:

সফটওয়্যারকার্সর বের করার কী
VirtualBoxRight Ctrl
VMwareCtrl + Alt
KVM/QEMUCtrl + Alt + G


No match for argument: xinetd এরর মানে CentOS Stream 9 / RHEL 9 এর ডিফল্ট রিপোতে xinetd প্যাকেজ নাই।



Red Hat 9 থেকে xinetd ডিপ্রিকেটেড করে দিয়েছে। তাই dnf install xinetd কাজ করবে না।

সমাধান: ২টা উপায় আছে


উপায় ১: EPEL রিপো থেকে xinetd ইনস্টল করুন – সহজ

EPEL = Extra Packages for Enterprise Linux। এখানে xinetd এখনো আছে।

Bash

# 1. EPEL রিপো এনাবল করুন
sudo dnf install epel-release -y

# 2. আপডেট করুন
sudo dnf update -y

# 3. এখন xinetd ইনস্টল হবে
sudo dnf install xinetd telnet-server telnet -y

ইনস্টল শেষে আগের মতোই /etc/xinetd.d/telnet ফাইল বানিয়ে কনফিগ করুন।


উপায় ২: systemd socket দিয়ে Telnet চালান – মডার্ন, xinetd লাগবে না

CentOS 9 এ এটাই রেকমেন্ডেড। xinetd ছাড়াই কাজ করবে।

Step 1: telnet-server ইনস্টল করুন

Bash

sudo dnf install telnet-server -y

Step 2: systemd socket ফাইল বানান

Bash

sudo nano /etc/systemd/system/telnet.socket

এই কনটেন্ট পেস্ট করুন:

INI



[Unit]
Description=Telnet Server Socket
PartOf=telnet.service

[Socket]
ListenStream=23
Accept=yes

[Install]
WantedBy=sockets.target

Step 3: systemd service ফাইল বানান

Bash

sudo nano /etc/systemd/system/telnet@.service

এই কনটেন্ট পেস্ট করুন:

INI



[Unit]
Description=Telnet Server
After=network.target

[Service]
ExecStart=-/usr/sbin/in.telnetd
StandardInput=socket
StandardOutput=socket
User=root
Group=root

[Install]
WantedBy=multi-user.target

Step 4: সার্ভিস চালু করুন

Bash

sudo systemctl daemon-reload
sudo systemctl start telnet.socket
sudo systemctl enable telnet.socket

Step 5: ফায়ারওয়াল ওপেন করুন

Bash

sudo firewall-cmd --permanent --add-port=23/tcp
sudo firewall-cmd --reload

Step 6: চেক করুন

Bash

sudo ss -tulpn | grep :23

আউটপুট:

Code

tcp LISTEN 0 64 *:23 *:* users:(("systemd",pid=1,fd=XX))

এখন telnet localhost দিয়ে টেস্ট করুন।


কোনটা ব্যবহার করবেন?

মেথডকখন ব্যবহার করবেনসুবিধা
EPEL + xinetdপুরানো ডকুমেন্টেশন ফলো করছেন, ল্যাবে টেস্টক্লাসিক মেথড, সহজ
systemd socketCentOS 9 / RHEL 9, প্রোডাকশন স্ট্যান্ডার্ডমডার্ন, Red Hat রেকমেন্ডেড, xinetd লাগে না

আমার রেকমেন্ডেশন: CentOS 9 এ উপায় ২ ব্যবহার করুন। xinetd এখন obsolete।

গুরুত্বপূর্ণ ফাইল লোকেশন

ফাইলমেথড ১ – xinetdমেথড ২ – systemd
কনফিগ/etc/xinetd.d/telnet/etc/systemd/system/telnet.socket
ডেমন/usr/sbin/in.telnetd/usr/sbin/in.telnetd
চালু করার কমান্ডsystemctl start xinetdsystemctl start telnet.socket

কুইক ফিক্স কমান্ড – CentOS 9 এর জন্য:

Bash

sudo dnf install epel-release -y && sudo dnf install xinetd telnet-server -y && echo 'service telnet { disable = no; flags = REUSE; socket_type = stream; wait = no; user = root; server = /usr/sbin/in.telnetd; }' | sudo tee /etc/xinetd.d/telnet && sudo systemctl restart xinetd && sudo firewall-cmd --permanent --add-port=23/tcp && sudo firewall-cmd --reload

এটা রান করলেই কাজ হবে। এরর আসলে cat /etc/os-release এর আউটপুট দিন।



Windows এ ডিফল্টভাবে telnet ক্লায়েন্ট ডিজেবল থাকে। তাই telnet is not recognized এরর দেয়।

Windows এ Telnet Client চালু করার ৩টা উপায়


উপায় ১: Control Panel দিয়ে – সবচেয়ে সহজ

Windows 10 / 11 এর জন্য:

  1. Start Menu → control panel লিখে সার্চ করুন → Control Panel ওপেন করুন
  2. Programs → Programs and Features এ ক্লিক করুন
  3. বাম পাশে Turn Windows features on or off এ ক্লিক করুন
  4. লিস্ট থেকে Telnet Client খুঁজে বের করে টিক দিন ☑
  5. OK চাপুন → ইনস্টল হতে ১ মিনিট লাগবে
  6. PC রিস্টার্ট লাগবে না

ইনস্টল শেষে টেস্ট করুন:

cmd

telnet 192.168.1.100

এখন কাজ করবে।


উপায় ২: PowerShell কমান্ড দিয়ে – ১ লাইনে

Admin PowerShell ওপেন করুন:

  1. Start → PowerShell লিখুন → Run as Administrator এ ক্লিক করুন
  2. এই কমান্ড রান করুন:

powershell

Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient
  1. Y চেপে রিস্টার্ট দিন যদি চায়

উপায় ৩: CMD দিয়ে – DISM কমান্ড

Admin CMD ওপেন করুন:

  1. Start → cmd লিখুন → Run as administrator
  2. এই কমান্ড রান করুন:

cmd

dism /online /Enable-Feature /FeatureName:TelnetClient

ইনস্টলের পর CentOS সার্ভারে টেস্ট করুন

Windows CMD ওপেন করে:

cmd

telnet 192.168.1.100

এখানে 192.168.1.100 হলো আপনার CentOS সার্ভারের IP।

IP বের করতে CentOS এ রান করুন:

Bash

ip a | grep inet

সাকসেস হলে দেখাবে:

Code

CentOS Stream 9
Kernel 5.14.0 on an x86_64
login:

ইউজারনেম testuser দিয়ে লগইন করুন। root দিয়ে লগইন হবে না, এটা নরমাল।


গুরুত্বপূর্ণ সিকিউরিটি নোট

  1. Telnet ইনসিকিউর: পাসওয়ার্ড প্লেইন টেক্সটে যায়। শুধু ল্যাবে ব্যবহার করুন।
  2. Windows এ Telnet Server নাই: শুধু Client আছে। সার্ভার বানাতে লিনাক্স লাগবে।
  3. বিকল্প: PuTTY ডাউনলোড করুন। এটা Telnet + SSH দুটোই সাপোর্ট করে। putty.org থেকে ফ্রি।

কমন এরর

এররকারণসমাধান
Could not open connection to the host, on port 23CentOS ফায়ারওয়াল ব্লক করছেTelnet সার্ভিস চালু নাইCentOS এ: sudo firewall-cmd --add-port=23/tcp --permanent && sudo firewall-cmd --reload
sudo systemctl restart xinetd
Login incorrectroot দিয়ে লগইন করার চেষ্টানন-রুট ইউজার বানান: sudo adduser testuser

The post CentOS 9 এ Telnet Server কিভাবে ইনস্টল ও কনফিগার করবেন? xinetd সহ ফুল বাংলা গাইড 2026 appeared first on To Learn Team.

]]>
Telnet কি? Linux সার্ভারে Telnet Server ইনস্টল, কনফিগার ও সিকিউরিটি রিস্ক https://tolearnteam.com/linux-telnet-server-configuration-bangla-tutorial/ Wed, 05 Aug 2026 12:14:39 +0000 http://tolearnteam.com/?p=2056 ভূমিকা: Telnet কি এবং কেন এটি এখন পড়বেন? গুরুত্বপূর্ণ সতর্কতা: Telnet একটি অত্যন্ত অনিরাপদ প্রোটোকল। এটি আপনার ইউজারনেম, পাসওয়ার্ড, কমান্ড সহ সবকিছু প্লেইন টেক্সটে পাঠায়। প্রোডাকশন সার্ভারে কখনোই Telnet ব্যবহার…

The post Telnet কি? Linux সার্ভারে Telnet Server ইনস্টল, কনফিগার ও সিকিউরিটি রিস্ক appeared first on To Learn Team.

]]>
ভূমিকা: Telnet কি এবং কেন এটি এখন পড়বেন?

গুরুত্বপূর্ণ সতর্কতা: Telnet একটি অত্যন্ত অনিরাপদ প্রোটোকল। এটি আপনার ইউজারনেম, পাসওয়ার্ড, কমান্ড সহ সবকিছু প্লেইন টেক্সটে পাঠায়। প্রোডাকশন সার্ভারে কখনোই Telnet ব্যবহার করবেন না। সর্বদা SSH ব্যবহার করুন। এই টিউটোরিয়ালটি শুধুমাত্র লিগ্যাসি সিস্টেম, ল্যাব টেস্টিং এবং একাডেমিক শিক্ষার জন্য।

Telnet (Teletype Network) হলো একটি Application Layer প্রোটোকল যা 1969 সালে RFC 15 এর মাধ্যমে ডেভেলপ করা হয়। এটি TCP পোর্ট 23 ব্যবহার করে রিমোট কম্পিউটারে ভার্চুয়াল টার্মিনাল অ্যাক্সেস দেয়।

এই আর্টিকেলে যা শিখবেন:

  1. Ubuntu/CentOS/RHEL এ Telnet Server ইনস্টল ও কনফিগার
  2. Firewall ও SELinux সেটিংস
  3. Telnet এর ডিরেক্টরি স্ট্রাকচার ও ফাইল
  4. একাডেমিক সিকিউরিটি অ্যানালাইসিস ও Wireshark প্র্যাকটিক্যাল
  5. Telnet vs SSH এর বিস্তারিত তুলনা

১. পূর্বশর্ত ও প্রয়োজনীয় প্যাকেজ

পূর্বশর্ত:

  1. একটি Linux সার্ভার: Ubuntu 22.04 / CentOS 9 / RHEL 9
  2. sudo বা root অ্যাক্সেস
  3. ২টি মেশিন: একটি সার্ভার, একটি ক্লায়েন্ট টেস্টের জন্য

প্রয়োজনীয় প্যাকেজ:

প্যাকেজের নামকাজইনস্টল কমান্ড
telnet-serverTelnet ডেমন in.telnetd চালায়CentOS/RHEL এ লাগে
telnetdUbuntu তে সার্ভার প্যাকেজUbuntu/Debian এ লাগে
xinetdSuper Server Daemon, পোর্ট 23 এ রিকোয়েস্ট আসলে telnetd চালু করেসব ডিস্ট্রোতে লাগে
telnetক্লায়েন্ট, অন্য সার্ভারে কানেক্ট করার জন্যসব ডিস্ট্রোতে লাগে

ইনস্টলেশন কমান্ড:

Ubuntu 22.04 / Debian 12:

sudo apt update
sudo apt install telnetd xinetd telnet -y

CentOS 9 / RHEL 9 / Rocky Linux:

Bash

sudo dnf install telnet-server telnet xinetd -y

ক্লারিফিকেশন: telnet-server প্যাকেজটি শুধু সার্ভার মেশিনে লাগবে। যে মেশিন থেকে কানেক্ট করবেন সেটায় শুধু telnet ক্লায়েন্ট হলেই হবে।


২. ডিরেক্টরি স্ট্রাকচার ও গুরুত্বপূর্ণ ফাইল

Telnet কনফিগার করার সময় এই ফাইলগুলো সম্পর্কে জানা জরুরি:

/etc/xinetd.d/telnet # Telnet সার্ভিস কনফিগারেশন। এখানে disable = no করতে হয়।
/etc/xinetd.conf # xinetd এর গ্লোবাল সেটিংস। সব সার্ভিসের জন্য কমন।
/etc/services # পোর্ট ডাটাবেস। এখানে telnet 23/tcp লেখা থাকে।
/usr/sbin/in.telnetd # Telnet ডেমনের আসল বাইনারি ফাইল।
/var/log/secure # RHEL/CentOS এ Telnet লগইন/ফেইল লগ থাকে।
/var/log/auth.log # Ubuntu/Debian এ Telnet লগইন/ফেইল লগ থাকে।

৩. স্টেপ বাই স্টেপ কনফিগারেশন

Step 1: Telnet সার্ভিস এনাবল করুন

xinetd এর অধীনে Telnet ডিফল্টভাবে disable থাকে।

Bash

sudo nano /etc/xinetd.d/telnet

ফাইলটি খুলে disable = yes লাইনটি disable = no করে দিন।

ফাইনাল কনফিগারেশন:

INI

#default: on

service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
only_from = 10.0.0.0/24 # স্পেশাল ইনস্ট্রাকশন: শুধু আপনার লোকাল নেটওয়ার্ক এলাও করুন
}

ক্লারিফিকেশন: only_from দিয়ে IP রেস্ট্রিকশন করা সিকিউরিটির জন্য বেস্ট প্র্যাকটিস। wait = no মানে মাল্টি-ইউজার কানেকশন এলাও করবে।

Step 2: xinetd সার্ভিস চালু ও এনাবল করুন

sudo systemctl start xinetd
sudo systemctl enable xinetd
sudo systemctl status xinetd # Active (running) দেখাবে

পোর্ট 23 লিসেন হচ্ছে কিনা চেক করুন:

Bash

sudo ss -tulpn | grep :23

আউটপুট: tcp LISTEN 0 64 *:23 *:* users:(("xinetd",pid=1234,fd=5))

Step 3: ফায়ারওয়াল কনফিগারেশন

পোর্ট 23 ডিফল্টভাবে বন্ধ থাকে। খুলে দিতে হবে।

Ubuntu/UFW:

sudo ufw allow 23/tcp
sudo ufw reload
sudo ufw status

CentOS/RHEL/firewalld:

sudo firewall-cmd –permanent –add-port=23/tcp
sudo firewall-cmd –reload
sudo firewall-cmd –list-ports

Step 4: SELinux ও ইউজার তৈরি – CentOS/RHEL এর জন্য

Telnet রুট ইউজারকে লগইন করতে দেয় না। একটি টেস্ট ইউজার বানান:

sudo adduser telnetuser
sudo passwd telnetuser # একটি পাসওয়ার্ড দিন, যেমন: Telnet@123

SELinux যদি Enforcing মোডে থাকে, তাহলে পলিসি অ্যাড করতে হতে পারে:

Bash

sudo setsebool -P telnetd_connect_network 1

৪. টেস্টিং ও ব্যবহারের উদাহরণ

ধরুন আপনার সার্ভারের IP: 10.0.0.1। ক্লায়েন্ট মেশিন থেকে কমান্ড দিন:

Bash

telnet 10.0.0.1

সফল আউটপুট:

Trying 10.0.0.1…
Connected to 10.0.0.1.
Escape character is ‘^]’.
Ubuntu 22.04.3 LTS
server01 login: telnetuser
Password:
Welcome to Ubuntu 22.04.3 LTS
telnetuser@server01:~$

সেশন থেকে বের হতে: exit লিখুন অথবা Ctrl + ] চেপে quit লিখুন।


৫. Academic Discussion: Telnet এর সিকিউরিটি অ্যানালাইসিস

৫.১. কেন Telnet অনিরাপদ? OSI মডেলের আলোকে

Telnet OSI Layer 7 – Application Layer এ কাজ করে। এর নিচের লেয়ারগুলোতে কোনো এনক্রিপশন নেই।

Wireshark প্র্যাকটিক্যাল: VM-Beta তে Wireshark চালু করে telnet 10.0.0.1 করুন এবং telnetuser দিয়ে লগইন করুন। Wireshark এ telnet ফিল্টার দিলে দেখবেন:

Code

TELNET Data: Password: Telnet@123

এখানে পাসওয়ার্ডটি সম্পূর্ণ প্লেইন টেক্সটে দেখা যাচ্ছে। এটি CIA Triad এর Confidentiality এবং Integrity দুটোই ভঙ্গ করে।

৫.২. Telnet vs SSH: একাডেমিক তুলনা

বৈশিষ্ট্যTelnetSSH (Secure Shell)একাডেমিক তাৎপর্য
স্ট্যান্ডার্ডRFC 854, 1969RFC 4251, 2006প্রোটোকল বিবর্তন
এনক্রিপশননেইAES-256, ChaCha20Cryptography এর প্রয়োগ
পোর্ট23/TCP22/TCPWell-known ports
অথেনটিকেশনPlaintext PasswordPassword, Public-Key, GSSAPIAuthentication Methods
ব্যান্ডউইথকম লাগেএনক্রিপশনের জন্য বেশিPerformance vs Security Trade-off
আধুনিক ব্যবহার০% প্রোডাকশনে৯৯% প্রোডাকশনেIndustry Standard

একাডেমিক উপসংহার: NIST SP 800-123 এবং ISO/IEC 27001 অনুযায়ী Telnet ব্যবহার করা একটি High Severity Vulnerability। তাই কম্পিউটার নেটওয়ার্ক ও সাইবার সিকিউরিটি কোর্সে Telnet পড়ানো হয় “Legacy Protocol Vulnerability Analysis” এর কেস স্টাডি হিসেবে।


৬. কমন এরর ও ট্রাবলশুটিং

এরর মেসেজকারণসমাধান
telnet: Unable to connect to remote host: Connection refusedxinetd চলছে না 2. পোর্ট 23 ফায়ারওয়ালে বন্ধsudo systemctl start xinetd, sudo ufw allow 23/tcp
telnet: Unable to connect to remote host: No route to hostনেটওয়ার্ক সমস্যা বা IP ভুলping 10.0.0.1 দিয়ে চেক করুন
Login incorrectভুল পাসওয়ার্ড 2. রুট দিয়ে লগইন ট্রাই করছেননন-রুট ইউজার ব্যবহার করুন। Telnet রুট এলাও করে না
telnetd: No login program found/usr/sbin/in.telnetd ফাইল মিসিংপ্যাকেজ রি-ইনস্টল করুন: sudo apt install --reinstall telnetd

৭. উপসংহার ও পরবর্তী ধাপ

আমরা এই টিউটোরিয়ালে ল্যাব এনভায়রনমেন্টে Telnet সেটআপ করা শিখলাম এবং একাডেমিক দৃষ্টিকোণ থেকে এর সিকিউরিটি রিস্ক অ্যানালাইসিস করলাম।

ফাইনাল রেকমেন্ডেশন: লিগ্যাসি সিস্টেম মেইনটেইন করা ছাড়া কখনোই Telnet ব্যবহার করবেন না। প্রোডাকশন সার্ভারের জন্য SSH একমাত্র নিরাপদ অপশন।

সিরিজের পরবর্তী পর্ব: SSH Key-Based Authentication in Linux - পাসওয়ার্ড ছাড়া সিকিউর লগইন। সেখানে আমরা শিখব কিভাবে ssh-keygen ও ssh-copy-id ব্যবহার করে সবচেয়ে সিকিউর উপায়ে সার্ভারে লগইন করতে হয়।

আপনার কোনো প্রশ্ন থাকলে ToLearnTeam.com এর কমেন্ট সেকশনে জানান।


nano কি এবং কেন ব্যবহার করবেন?

বিষয়ব্যাখ্যা
পুরো নামGNU nano
কাজটার্মিনালের ভিতরেই .txt, .conf, .sh এর মতো ফাইল তৈরি ও এডিট করা
কেন জনপ্রিয়খুবই সহজ, Notepad এর মতো 2. সব লিনাক্সে ডিফল্ট থাকে 3. মাউস লাগে না
বিকল্পvi/vim, emacs, micro। কিন্তু vim নতুনদের জন্য কঠিন

nano এর বেসিক ব্যবহার – Telnet ফাইলের উদাহরণে

আপনি যখন এই কমান্ড দেন:

Bash

sudo nano /etc/xinetd.d/telnet

১. ইন্টারফেস দেখতে কেমন:

GNU nano 6.2 /etc/xinetd.d/telnet

default: on

service telnet
{
disable = yes
flags = REUSE
socket_type = stream


^G Help ^O Write Out ^W Where Is ^K Cut ^T Execute
^X Exit ^R Read File ^\ Replace ^U Paste ^J Justify

নিচে ^X মানে Ctrl + X। এগুলোই শর্টকাট।

২. সবচেয়ে দরকারি ৫টি শর্টকাট:

শর্টকাটকাজকখন লাগবে
Ctrl + OWrite Out = ফাইল সেভ করাএডিট করার পর সেভ করতে
Ctrl + XExit = nano থেকে বের হওয়াকাজ শেষ হলে
Ctrl + WWhere Is = কোনো লেখা খোঁজাdisable লাইনটা খুঁজতে
Ctrl + KCut = লাইন কেটে দেওয়া/ডিলিটকোনো লাইন মুছতে
Ctrl + UPaste = কাট করা লাইন পেস্টলাইন কপি-পেস্ট করতে

৩. Telnet ফাইল এডিট করার সম্পূর্ণ প্রসেস:

Step 1: ফাইল ওপেন করুন

Bash

sudo nano /etc/xinetd.d/telnet

Step 2: Ctrl + W চাপুন, তারপর disable লিখে Enter দিন। কার্সর disable = yes লাইনে চলে যাবে।

Step 3: yes কেটে no লিখুন। এখন হবে disable = no

Step 4: Ctrl + O চাপুন → Enter চাপুন → ফাইল সেভ হবে

Step 5: Ctrl + X চাপুন → nano থেকে বের হয়ে যাবেন

nano vs vim: নতুনদের জন্য কোনটা?

ফিচারnanovim
শেখা2 মিনিটে শেখা যায়2 সপ্তাহ লাগতে পারে
বের হওয়াCtrl + X:q! বা :wq – অনেকে আটকে যায়
মোডকোনো মোড নেই, ডাইরেক্ট টাইপNormal, Insert, Visual মোড আছে
কাদের জন্যবিগিনার, সার্ভার কনফিগপ্রো ডেভেলপার, দ্রুত কোডিং

সারসংক্ষেপ: nano হলো লিনাক্সের Notepad। কনফিগ ফাইল এডিট করার সবচেয়ে সহজ উপায়। sudo দিয়ে ওপেন করলে সিস্টেম ফাইল এডিট করতে পারবেন।

GNU nano 6.2 শুধু দেখাচ্ছে এবং ফাইল খালি, মানে /etc/xinetd.d/telnet ফাইলটা এখনো তৈরি হয়নি।

কেন এমন হচ্ছে?

১. telnet-server ইনস্টল করেননি
Ubuntu তে telnetd ইনস্টল করলে সবসময় এই ফাইল অটো তৈরি হয় না।
২. ফাইলের নাম ভুল
৩. xinetd ইনস্টল নেই

সমাধান: স্টেপ বাই স্টেপ

Step 1: প্যাকেজগুলো আছে কিনা চেক করুন

Bash

dpkg -l | grep -E 'telnet|xinetd'

আউটপুটে telnetd এবং xinetd থাকতে হবে। না থাকলে ইনস্টল করুন:

Ubuntu/Debian:

Bash

sudo apt updatesudo apt install telnetd xinetd -y

CentOS/RHEL:

Bash

sudo dnf install telnet-server xinetd -y

Step 2: xinetd.d ডিরেক্টরি আছে কিনা চেক করুন

Bash

ls /etc/xinetd.d/

যদি No such file or directory দেখায়, তাহলে xinetd ইনস্টল হয়নি।

Step 3: ফাইলটি ম্যানুয়ালি তৈরি করুন

প্যাকেজ ইনস্টল করার পরও ফাইল না থাকলে নিজে বানিয়ে নিন:

Bash

sudo nano /etc/xinetd.d/telnet

এবার nano তে এই পুরো কনফিগটা কপি করে পেস্ট করুন:

INI

#default: on

#description: The telnet server serves telnet sessions

service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
instances = 100
}

তারপর সেভ করুন: Ctrl + O → Enter → Ctrl + X

Step 4: in.telnetd ফাইল আছে কিনা চেক করুন

xinetd এই বাইনারি ফাইলটা রান করে। লোকেশন চেক করুন:

Bash

ls /usr/sbin/in.telnetd

No such file আসলে telnetd প্যাকেজ ঠিকমতো ইনস্টল হয়নি। রি-ইনস্টল করুন:

Bash

sudo apt install --reinstall telnetd -y

Step 5: সার্ভিস রিস্টার্ট করুন

Bash

sudo systemctl restart xinetdsudo systemctl enable xinetdsudo ss -tulpn | grep :23

*:23 লিসেন দেখালে কাজ শেষ।

সংক্ষেপে আপনার করণীয়:

  1. sudo apt install telnetd xinetd -y রান করুন
  2. sudo nano /etc/xinetd.d/telnet দিয়ে উপরের কনফিগ পেস্ট করুন
  3. sudo systemctl restart xinetd

গুরুত্বপূর্ণ: CentOS 9/RHEL 9 এ telnet-server ডেপ্রিকেটেড। অনেক সময় dnf install telnet-server দিলেও ফাইল আসে না। সেক্ষেত্রে ম্যানুয়ালি বানানোই সমাধান।


sudo ss -tulpn | grep :23 এ কিছু না দেখানো মানে পোর্ট 23 এ কোনো সার্ভিস লিসেন করছে না। অর্থাৎ Telnet/xinetd চালু হয়নি বা এরর খাচ্ছে।

স্টেপ বাই স্টেপ ট্রাবলশুটিং

Step 1: xinetd চলছে কিনা চেক করুন

Bash

sudo systemctl status xinetd

৩ ধরনের আউটপুট আসতে পারে:

Case A: Active: inactive (dead)

Bash

sudo systemctl start xinetd
sudo systemctl enable xinetd

Case B: Active: active (running) কিন্তু পোর্ট 23 নাই
মানে xinetd চলছে কিন্তু telnet সার্ভিস লোড হয়নি। Step 2 দেখুন।

Case C: Failed with result 'exit-code'
কনফিগে এরর আছে। লগ দেখুন:

Bash

sudo journalctl -u xinetd -n 20 --no-pager

Step 2: telnet কনফিগ ফাইল ঠিক আছে কিনা চেক করুন

Bash

cat /etc/xinetd.d/telnet

মাস্ট থাকতে হবে:

INI

service telnet
{    disable = no          # এটা `no` হতে হবে, `yes` হলে চলবে না    
     server  = /usr/sbin/in.telnetd    # এই ফাইল থাকতে হবে
}

in.telnetd ফাইল আছে কিনা চেক করুন:

Bash

ls -l /usr/sbin/in.telnetd

No such file আসলে প্যাকেজ মিসিং:

Bash

# Ubuntu
sudo apt install --reinstall telnetd -y
# CentOS/RHEL
sudo dnf reinstall telnet-server -y

Step 3: xinetd রিস্টার্ট দিয়ে এরর চেক করুন

Bash

sudo systemctl restart xinetd

যদি এরর দেয়, তাহলে ডিটেইল লগ দেখুন:

Bash

sudo journalctl -xeu xinetd

কমন এরর:

  1. line 3: exec of /usr/sbin/in.telnetd failed → telnetd প্যাকেজ ইনস্টল নেই
  2. service/protocol error in /etc/xinetd.d/telnet → ফাইলে সিনট্যাক্স এরর, ব্র্যাকেট মিসিং

Step 4: ম্যানুয়ালি টেস্ট করুন

xinetd ছাড়া in.telnetd চলে কিনা দেখুন:

Bash

sudo /usr/sbin/in.telnetd

যদি in.telnetd: command not found আসে, তাহলে প্যাকেজ ইনস্টল হয়নি।

Step 5: Ubuntu 22.04+ এর স্পেশাল কেস

নতুন Ubuntu তে telnetd ইনস্টল করলেও অনেক সময় systemd socket ইউজ করে। xinetd লাগে না।

চেক করুন systemd socket আছে কিনা:

Bash

sudo systemctl status telnet.socket

যদি থাকে, তাহলে এটা এনাবল করুন:

Bash

sudo systemctl start telnet.socket
sudo systemctl enable telnet.socket

এক্ষেত্রে xinetd লাগবে না। ss -tulpn | grep :23 এ এখন দেখাবে।

কুইক ফিক্স সামারি – Ubuntu এর জন্য

আপনার জন্য সবচেয়ে সহজ সমাধান:

1. পুরানো কনফিগ ক্লিন করুন

sudo systemctl stop xinetd
sudo apt purge telnetd xinetd -y

2. নতুন করে ইনস্টল করুন

sudo apt update
sudo apt install telnetd xinetd -y

3. ফাইল ম্যানুয়ালি বানান

echo ‘service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}’ | sudo tee /etc/xinetd.d/telnet

4. চালু করুন

sudo systemctl restart xinetd
sudo systemctl enable xinetd

5. চেক করুন

sudo ss -tulpn | grep :23

এখন tcp LISTEN 0 64 *:23 *:* users:(("xinetd",...)) দেখাবে।


Server /usr/sbin/in.xinetd is not executable file এরর মানে /etc/xinetd.d/telnet ফাইলে server এর পাথ ভুল লিখেছেন।

আপনি লিখেছেন /usr/sbin/in.xinetd কিন্তু আসল ফাইল হবে /usr/sbin/in.telnetd।

xinetd হলো সুপার সার্ভার, আর in.telnetd হলো আসল telnet ডেমন।

সমাধান: ফাইল এডিট করুন

Step 1: ফাইল ওপেন করুন

Bash

sudo nano /etc/xinetd.d/telnet

Step 2: ভুল লাইন ঠিক করুন

ভুল কনফিগ:

INI

service telnet
{
    disable = no
    server  = /usr/sbin/in.xinetd    # এটা ভুল
}

সঠিক কনফিগ:

INI



service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd # telenetd, xinetd না
log_on_failure += USERID
}

in.xinetd কেটে in.telnetd লিখুন। x এর জায়গায় tel হবে।

সেভ করুন: Ctrl + O → Enter → Ctrl + X

Step 3: in.telnetd ফাইল আছে কিনা নিশ্চিত হন

Bash

ls -l /usr/sbin/in.telnetd

আউটপুট এমন হওয়া উচিত:

Code

-rwxr-xr-x 1 root root 12345 Jan 10 2025 /usr/sbin/in.telnetd

যদি No such file or directory আসে, তাহলে প্যাকেজ ইনস্টল হয়নি:

Ubuntu/Debian:

Bash

sudo apt install telnetd -y

CentOS/RHEL:

Bash

sudo dnf install telnet-server -y

Step 4: xinetd রিস্টার্ট করুন

Bash

sudo systemctl restart xinetd
sudo systemctl status xinetd

এখন Active: active (running) দেখাবে, এরর থাকবে না।

Step 5: পোর্ট 23 চেক করুন

Bash

sudo ss -tulpn | grep :23

আউটপুট:

Code

tcp   LISTEN 0      64     *:23     *:*    users:(("xinetd",pid=2345,fd=5))

কেন এই ভুল হয়?

xinetd এবং in.telnetd নাম দুটো কাছাকাছি। xinetd হলো ম্যানেজার, আর in.telnetd হলো ওয়ার্কার। xinetd পোর্ট 23 এ শোনে, কেউ কানেক্ট করলে in.telnetd চালু করে দেয়।

সহজ মনে রাখার উপায়:

  • xinetd = Extended Internet Services Daemon = ম্যানেজার
  • in.telnetd = Internet Telnet Daemon = আসল সার্ভার

কুইক ফিক্স ওয়ান-লাইনার:

Bash

sudo sed -i 's/in\.xinetd/in.telnetd/g' /etc/xinetd.d/telnet && sudo systemctl restart xinetd

এই কমান্ড in.xinetd খুঁজে in.telnetd দিয়ে রিপ্লেস করে xinetd রিস্টার্ট করবে।

The post Telnet কি? Linux সার্ভারে Telnet Server ইনস্টল, কনফিগার ও সিকিউরিটি রিস্ক appeared first on To Learn Team.

]]>