مجله خبری ارس مگ

تلنت (telnet) چیست و چه کاربردهایی دارد؟

تلنت (telnet) چیست و چه کاربردهایی دارد؟

امکان اتصال ریموت (از راه دور) به یک سیستم یا سرور، دستاورد تازه‌ای نیست! بیشتر از نیم‌قرن پیش، پروتکلی معرفی شد که قابلیت اتصال به یک کامپیوتر (یا سرور) از راه دور را به وجود آورد؛ پروتکلی به‌اسم Telnet. در این مقاله می‌خواهیم ببینیم Telnet چیست، چه تفاوتی با SSH…

- اندازه متن +

امکان اتصال ریموت (از راه دور) به یک سیستم یا سرور، دستاورد تازه‌ای نیست! بیشتر از نیم‌قرن پیش، پروتکلی معرفی شد که قابلیت اتصال به یک کامپیوتر (یا سرور) از راه دور را به وجود آورد؛ پروتکلی به‌اسم Telnet.

در این مقاله می‌خواهیم ببینیم Telnet چیست، چه تفاوتی با SSH دارد و آیا هنوز برای اتصالات ریموت به سیستم به اندازه کافی امن و کاربردی است یا نه.

اگر موافق باشید، کار را با تعریف این پیشکسوت دنیای IT شروع کنیم.

Telnet چیست؟

اگر می‌خواهید از راه دور به یک سرور (یا حتی کامپیوتر شخصی) دسترسی پیدا کنید، پروتکل تلنت کارتان را راه می‌اندازد.

در واقع Telnet پروتکلی است که اجازه می‌دهد کامپیوتری را از راه دور و از طریق یک شبکه (چه اینترنت باشد، چه یک شبکۀ داخلی) کنترل کنید؛ انگارنه‌انگار کلاً جای دیگری هستید و فاصله‌ها هیچ معنایی ندارند!

تلنت از طریق خط فرمان و با دستورهای متنی کار می‌کند و به‌وسیلۀ آن می‌توانید کارهای مختلفی مثل اجرای دستورات گوناگون روی دستگاه مقصد و مدیریت فایل‌ها و برنامه‌ها را به‌صورت ریموت (از راه دور) پیش ببرید. (این را گوشه ذهن‌تان داشته باشید، جلوتر بیشتر توضیح می‌دهیم)

حالا می‌دانید تلنت چیست؛ اما شاید درک درستی از مفهوم پروتکل نداشته باشید؛ پس از شما دعوت می‌کنیم مقالۀ «پروتکل (Protocol) چیست و چگونه کار می‌کند؟» را بخوانید.

📌💡تاریخچه‌ای کوتاه از شکل‌گیری پروتکل تلنت

تلنت قدمت زیادی دارد و پیدایش آن به دهۀ ۶۰ میلادی برمی‌گردد؛ یعنی تقریباً ۶ دهۀ قبل! هرچند در دهه‌های ۷۰ و ۸۰ میلادی بود که این پروتکل رواج خیلی زیادی پیدا کرد.
در آن‌ سال‌ها، آکادمی‌های علمی و مؤسسات تحقیقاتی، برای انجام کارهایشان سراغ تلنت می‌رفنتد از طریق این پروتکل، به اَبَرکامپیوترهای آن زمان (در نقاط جغرافیایی دیگر) وصل می‌شدند.

در دهۀ ۹۰ که اینترنت رفته‌رفته راهش را به زندگی بشر باز می‌کرد، Telnet توانست جایگاه مستحکمی به‌عنوان یک پروتکل استاندارد برای خود دست‌وپا کند. البته بعدها، مشکلات تلنت (مخصوصاً امنیت پایین)، باعث ظهور پروتکل‌های پیشرفته‌تری مثل SSH شد و تلنت به حاشیه رفت. با وجود این، پروتکل داستان ما همچنان در برخی اپلیکیشن‌ها و دستگاه‌های قدیمی‌تر (معروف‌به Legacy Systems) مورد استفاده قرار می‌گیرد.

فرق SSH و تلنت چیست و کدام بهتر است؟

گفتیم که هر دو این‌ها، پروتکل‌هایی برای برقراری اتصال ریموت با یک سیستم هستند؛ ولی خب با روی کار آمدن پروتکل SSH، تلنت تقریباً از دور خارج شد و کمتر جایی می‌توانید ردپایی از آن ببینید!

چرا؟ علتش را در سه مورد برایتان توضیح می‌دهیم.

۱. میزان امنیت

مهم‌ترین تفاوت این دو پروتکل و البته ضعف اصلی تلنت، مسئله امنیت است.

تلنت داده‌ها را در قالب متن‌های ساده، بدون هیچ‌گونه رمزنگاری انتقال می‌دهد؛ این یعنی هرکسی در وسط راه به آن‌ها دست پیدا کند، می‌تواند آن‌ها را بخواند و اطلاعات آن‌ها را استخراج کند.

در نقطۀ مقابل، SSH از رمزنگاری‌های پیشرفته استفاده می‌کند و یک لایۀ امنیتی قدرتمند روی داده‌های ردوبدلی می‌کشد؛ به همین خاطر، شکی نیست که SSH از منظر امنیت خیلی بهتر از Telnet است.

۲. کاربردها

از یک دیدگاه کلی، هر دو پروتکل کاربردی مشابه دارند؛ هر دوی آن‌ها امکان دسترسی به یک خط فرمان از راه دور را به وجود می‌آورند؛ منتهی وقتی نگاه دقیق‌تری به ماجرا می‌اندازیم، متوجه تفاوت‌های چشمگیری بین آن‌ها می‌شویم!

به‌طور کلی، SSH قابلیت‌های خیلی بیشتری دارد؛ از امکان انتقال فایل‌ها و مدیریت فرایندها به‌صورت ریموت گرفته تا Port Forwarding؛ اما تلنت بسیار محدودتر است و فقط به درد اتصال‌های از راه دور، به‌شکلی خیلی ساده‌تر می‌خورد!

۳. سادگی طرز کار

تلنت ساده‌تر است، پس طرز استفاده از آن هم راحت‌تر است! تنها جایی که تلنت نسبت‌به SSH دست بالاتر را دارد. البته که این طرز استفادۀ آسان، همان‌طور که بالاتر هم گفتیم، به قیمت ضعف‌های امنیتی خطرساز تمام می‌شود.

SSH با وجود پیچیدگی‌های بیشتر، به‌خاطر امنیت خیلی بالاتری که ارائه می‌کند، گزینۀ محبوب‌تری بین ارگان‌ها و سازمان‌هایی است که با داده‌های حساس و محرمانه سروکار دارند.

در کل، SSH پروتکل پیشرفته‌تری است و می‌توانیم بگوییم در مقایسه با تلنت، گزینۀ خیلی مناسب‌تری به حساب می‌آید. اگر دوست دارید اطلاعات بیشتری راجع‌به این پروتکل ارتباطی ایمن داشته باشید، خواندن مقالۀ “SSH چیست؟ آشنایی با ۰ تا ۱۰۰ پروتکل SSH” را به شما پیشنهاد می‌کنیم.

در جدول زیر هم می‌توانید یک نگاه کلی به تفاوت‌های این دو پروتکل بیندازید:

مقایسه پروتکل Telnet و SSH

اگر موافق باشید، در بخش بعدی کمی تخصصی‌تر صحبت کنیم و نگاهی بیندازیم به چگونگی طرز کار این پروتکل.

نحوۀ عملکرد پروتکل Telnet چگونه است؟

تلنت یک پروتکل متنبی‌بر مدل Client-Server است؛ یعنی در شروع کارش، یک ترمینال (یا Command line) روی دستگاه مقصد (که معمولاً یک سرور است) باز می‌کند و با استفاده از دستورهای متنی کارش را انجام می‌دهد؛ یعنی متن‌های ساده (اصطلاحاً Plain Text) توسط تلنت بین دستگاه مبداء و مقصد ردوبدل می‌شوند و در خلال آن‌ها، دستورات و پاسخ‌ها می‌روند و می‌آیند.

فرمت اصلی‌ای که این پروتکل از آن استفاده می‌کند، American Standard Code for Information Interchange است که مخفف آن می‌شود ASCII.

تمام عملکرد تلنت به یک شبیه‌ساز وابسته است؛ شبیه‌ساز Virtual Terminal Connection که در واقع، نمونه‌ای انتزاعی از اتصالی به یک کامپیوتر محسوب می‌شود.

نکتۀ جالب اینکه تلنت از پروتکل‌های استاندارد دیگر کمک می‌گیرد تا این اتصال مجازی، کاملاً به یک اتصال واقعی شبیه شود؛ طوری که انگار ترمینال به‌صورت فیزیکی به دستگاه وصل شده است.

مثلاً بعضی وقت‌ها، تلنت از FTP کمک می‌گیرد تا امکان ارسال فایل‌ها را برای کاربران به وجود بیاورد. ساده‌تر بگوییم: به‌لطف FTP، کاربران می‌توانند با استفاده از تلنت به یک دستگاه دیگر، از راه دور متصل شوند. به این کار اصطلاحاً Telnetting into the system می‌گویند.

💡 قبلاً در مقالۀ «FTP چیست و چه فرقی با SFTP دارد؟» دربارۀ آن صحبت کرده‌ایم.

در کل، اگر بخواهیم غیرفنی به ماجرا نگاه کنیم، نحوۀ عملکرد این پروتکل شامل ۳ مرحلۀ اصلی است که عبارتند از:

  1. برقراری ارتباط بین دو دستگاه
  2. ارسال دستورات و انجام اقدامات از راه دور
  3. بستن ارتباط

حالا که می‌دانید طرز کار پروتکل telnet چیست، بیایید برویم سراغ بررسی کاربردهای آن.

کاربرد پروتکل telnet چیست؟

با اینکه پروتکل تلنت تقریباً منسوخ شده، اما خب همچنان برای کاربردهای مختلفی استفاده می‌شود که در این بخش به آن‌ها می‌پردازیم:

۱. عیب‌یابی اتصال به شبکه

یک کاربرد پروتکل telnet این است که از آن برای پیدا کردن عیب‌های احتمالی در اتصال‌ به یک شبکه، کامپیوتر، یا سرور استفاده می‌کنند. به این صورت که سعی می‌کنند با این پروتکل به یک دستگاه متصل شوند تا ببینند آیا اصلاً امکان انجام چنین کاری وجود دارد یا نه! آیا دستگاه مقصد پذیرای کانکشن می‌شود یا آن را پس می‌زند.

به این ترتیب، می‌توان هرگونه خطا یا مشکل ارتباطی را شناسایی کرد و عیب‌یابی اتصال را با دقت قابل قبولی پیش برد.

⭐ محتوای مرتبط: ips چیست و چه تفاوتی با IDS دارد؟

۲. پیکربندی دستگاه‌های متصل به شبکه

ادمین‌های شبکه می‌توانند با پروتکل telnet، انواع دستگاه‌های متصل به شبکه (مثل روترها، سوییچ‌ها و فایروال‌ها) را به‌صورت ریموت پیکربندی کنند.

این پروتکل به ادمین‌ها اجازه می‌دهد در اتاق فرمان بشینند و هر دستگاهی در هر کجای شبکه را بدون نیاز به دسترسی فیزیکی، مدیریت و تنظیم کنند.

۳. مدیریت سرورها از راه دور

با اجرای یک رابط خط فرمان، می‌توان به‌کمک تلنت سرورها را مدیریت کرد و انواع کارهای مختلف را روی آن‌ها انجام داد. وصل شدن به سرورها با استفاده از این پروتکل، امکان کانفیگ آن‌ها و همچنین اجرای دستورات مختلف را به وجود می‌آورد.

⭐ محتوای مرتبط: منظور از مدیریت سرور چیست و مدیر سرور کیست؟

۴. دسترسی پیدا کردن به سیستم‌های قدیمی یا Legacy Systems

هنوز برخی سازمان‌ها و ارگان‌ها از سیستم‌های قدیمی که اصطلاحاً به آن‌ها Legacy Systems می‌گویند، استفاده می‌کنند. برای اتصال ریموت به خیلی‌ از این سیستم‌ها، چاره‌ای وجود ندارد جز استفاده از تلنت!

متخصصان شاغل در آن سازمان‌هایی که همچنان با این سیستم‌ها کار می‌کنند، با این پروتکل به آن‌ها وصل می‌شوند و از راه دور، انجام اموری مثل اجرای اپلیکیشن‌ها، پردازش داده‌ها و مدیریت منابع را پیش می‌برند.

۵. تست و دیباگ اپلیکیشن‌ها

همان‌طور که تلنت برای عیب‌یابی اتصال به شبکه کاربرد دارد، می‌توان از آن جهت تست عملکرد و البته دیباگ کردن اپلیکییشن‌ها هم استفاده کرد.

به بیان ساده‌تر، تلنت می‌تواند در نقش یک ابزار تست ظاهر شود که امکان اتصال و برقراری ارتباط بین یک اپلیکیشن و سرور را بررسی می‌کند. با استفاده از این پروتکل، دولوپرها می‌فهمند که آیا اپلیکیشن عملکرد درستی دارد یا نه! ضمن اینکه امکان شناسایی انواع خطاها و مشکلات هم به وجود می‌آید.

این هم از پاسخ به سؤال کاربرد پروتکل تلنت چیست. بیایید برویم سراغ بخش عملی ماجرا و نحوۀ استفاده از این پروتکل را یاد بگیریم.

⭐ محتوای مرتبط: آموزش کامل نصب و راه‌اندازی SSH در لینوکس

آموزش نصب و راه‌اندازی پروتکل telnet

هر ۳ سیستم‌عامل اصلی، یعنی ویندوز، مک و لینوکس، از تلنت پیشتیبانی می‌کنند؛ پس اجازه دهید در ۳ بخش جداگانه، نحوۀ به‌کارگیری این پروتکل در هرکدام از سیستم‌عامل‌ها را بررسی کنیم.

راه‌اندازی Telnet در ویندوز

تلنت به‌صورت پیش‌فرض روی ویندوز غیرفعال است. برای فعال‌سازی آن، باید به Control Panel بروید. بعد از باز شدن پنجرۀ Control Panel، از بخش Programs، روی گزینۀ Uninstall a program کلیک کنید.

راه‌اندازی تلنت روی ویندوز

بعد از کلیک روی این گزینه، وارد صفحۀ دیگری خواهید شد که باید از سمت چپ آن، روی گزینۀ Turn Windows features on or off کلیک کنید.

راه‌اندازی تلنت روی ویندوز

پنجرۀ کوچکی باز می‌شود که باید آن را به پایین اسکرول کنید تا برسید به Telnet Client؛ تیک مربع کنار این گزینه را بزنید و بعد روی OK کلیک کنید تا این پروتکل روی ویندوز فعال شود.

راه‌اندازی تلنت روی ویندوز

حالا تلنت فعال است و برای دسترسی به یک سرور از راه دور، باید بروید سراغ command prompt ویندوز.

راه‌اندازی تلنت روی ویندوز

دستور کلی برای برقراری ارتباط با این پروتکل، به شکل زیر است:

telnet [RemoteServer] [Port]

راه‌اندازی Telnet در مک

برای نصب تلنت روی سیستم‌عامل مک، باید Terminal سیستم‌عامل را باز و Homebrew را با نوشتن دستور زیر نصب کنید:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

راه‌اندازی تلنت روی مک

نکته: برای تکمیل موفقیت‌آمیز فرایند نصب، باید پسورد Mac admin را وارد کنید.

بعد از آن، با استفاده از Homebrew و نوشتن دستور زیر، تلنت روی سیستم‌عاملتان نصب خواهد شد:

brew install telnet

راه‌اندازی تلنت روی مک

بعد از نصب موفق تلنت، با استفاده از دستور زیر، اقدام به برقراری ارتباط ریموت با این پروتکل خواهید کرد:

telnet [hostname] [port]

راه‌اندازی Telnet در لینوکس

اینجا در دو بخش جداگانه، نحوۀ راه‌اندازی تلنت روی توزیع‌های مختلف لینوکس را بررسی خواهیم کرد.

نصب و فعال‌سازی روی توزیع‌های CentOS، Fedora و RHEL

با استفاده از دستور زیر yum (پکیج منیجر اصلی این توزیع‌ها) را آپدیت می‌کنید:

sudo yum update

در مرحلۀ بعدی، دستور زیر را در ترمینال می‌نویسید تا تلنت و تمام آنچه برای عملکرد درست نیاز دارد، نصب شوند:

sudo yum install telnet telnet-server -y

نکته: اضافه کردن y- در انتهای دستور باعث می‌شود دستگاه به‌صورت خودکار، به تمام پرسش‌ها در طی فرایند نصب پاسخ مثبت بدهد!

بعد از نصب، باید با استفاده از دستور زیر، پروتکل را فعال کنید:

systemctl start telnet.socket
systemctl enable telnet.socket

بعد باید اجازۀ عبور تلنت از فایروال را صادر کنید. این کار با نوشتن دستور زیر انجام می‌شود:

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

برای اعمال تغییرات، فایروال را با نوشتن دستور زیر ری‌استارت کنید:

sudo firewall-cmd –reload

حالا تلنت فعال است و می‌تواند اطلاعات را بدون مشکل از فایروال دستگاه مقصد عبور دهد.

⭐ محتوای مرتبط: تغییر پورت SSH در سرور مجازی لینوکس (چرا و چگونه؟)

نصب و فعال‌سازی روی Ubuntu انواع توزیع‌های مبتنی‌بر Debian

پکیج منیجر اصلی این دست توزیع‌ها، apt است و باید با دستور زیر آن را به‌روزرسانی کنید:

sudo apt update

به‌منظور نصب پروتکل، دستور زیر را در ترمینال بنویسید:

sudo apt install telnetd -y

صبر کنید تا نصب تمام شود و بعد از آن، با اجرای دستور زیر، از درست پیش رفتن فرایند نصب مطمئن شوید:

sudo systemctl status inetd

خروجی زیر نشان می‌دهد که همه‌چیز درست انجام گرفته و تلنت آمادۀ خدمت‌رسانی است.

راه‌اندازی تلنت روی لینوکس

در مرحلۀ بعدی، باید اجازۀ عبور تلنت از فایروال را صادر کنید که دستور زیر برای این منظور به کمکتان می‌آید:

sudo ufw allow 23/tcp

نکته: پورت ۲۳، پورت‌ پیش‌فرض این پروتکل است.

در آخر، بعد از ری‌استارت کردن فایروال با استفاده از دستور زیر، تلنت آمادۀ خدمت‌رسانی خواهد بود:

sudo ufw reload

برای شروع استفاده از تلنت روی لینوکس، دستور زیر به کارتان می‌آید:

telnet [options] [remote_server_address] [port]

برای پایان ارتباط هم از این دستور کوتاه استفاده کنید:

quit

راهکارهایی وجود دارند که می‌توان با استفاده از آن‌ها، امنیت این پروتکل را بهبود بخشید و در بخش بعد راجع‌به آن‌ها صحبت خواهیم کرد.

⭐ محتوای مرتبط: Juice SSH چیست؟ (راهنمای اتصال به سرور با سیستم اندرویدی)

۵ روش برای افزایش امنیت پروتکل telnet

زمانی که تلنت عرضه شد، نه خبری از اینترنت (به‌شکل امروزی) بود، نه هکرها مثل مور و ملخ زیاد شده بودند! به همین دلیل است که این پروتکل، اطلاعات را بدون رمزنگاری ردوبدل می‌کند و در هزارۀ سوم مطلقاً ایمن محسوب نمی‌شود.

اگر به‌هردلیلی نمی‌توانستید (یا نمی‌خواستید) از جایگزین امن‌تر آن یعنی SSH استفاده کنید، حتماً راهکارهای زیر را به کار بگیرید تا امنیت این پروتکل کهن‌سال را بالاتر ببرید:

  • VPN: روشن کردن VPN هنگام استفاده از پروتکل Telnet، تمام ترافیک ردوبدلی را رمزنگاری و ارتباط را ایمن می‌کند.
  • وایت‌لیست کردن IP: دسترسی به سرور تلنت را محدود کنید و فقط به چند IP مشخص اجازه دهید از طریق این پروتکل به دستگاه وصل شوند. این کار با جلوگیری از دسترسی‌های غیرمجاز، کمی ایمنی را بالا می‌برد، اما همچنان خبری از رمزنگاری داده‌ها نیست!
  • استفاده از تلنت همراه با SSL یا TLS: تلنت کردن روی SSL یا TLS، ارتباطات را رمزنگاری می‌کند. برای این منظور، باید سرور تلنت را کانفیگ کنید تا از SSL پشتیبانی کند.
  • سازوکارهای احراز هویت: استفاده از سیستم‌هایی مثل احراز هویت دومرحله‌ای (2FA)، یک لایۀ امنیتی به اتصال اضافه می‌کند، اما خب این کار پیچیدگی‌ها و دردسرهای خاص خودش را دارد.
  • مانیتور کردن شبکه و شناسایی نفوذها: از ابزارهای مانیتورینگ کمک بگیرید تا هرگونه اقدام مشکوک شناسایی و در نطفه خفه شود.

در مجموع، هرکاری هم که بکنید، Telnet نمی‌تواند امنیتی در حد SSH ارائه کند!

برویم برای جمع‌بندی پایانی مقاله.

پروتکل Telnet: پیرمردی که هنوز نفس می‌کشد

در این مقاله علاوه بر اینکه گفتیم تلنت چیست، به بررسی ماهیت این پروتکل پرداختیم و نگاهی کوتاه به تاریخچۀ جذاب آن انداختیم. دربارۀ چگونگی راه‌اندازی آن روی سیستم‌عامل‌های مختلف، کاربردهایی که دارد، تفاوت‌هایش با SSH، راه‌هایی که به افزایش امنیت آن کمک می‌کنند و حتی چگونگی طرز کارش هم صحبت کردیم.

امیدواریم با این مقاله توانسته باشیم هرآنچه لازم است دربارۀ پروتکل ارتباطی تلنت بدانید را یادتان بدهیم. اگر احیاناً سؤالی در این رابطه دارید، زیر همین بلاگ‌پست برایمان کامنت بگذارید.

منابع: INTERMEDIA | ClouDNS

مقاله اصلی

درباره نویسنده

Jolfa Developer

submit comment
0 دیدگاه

نظر شما در مورد این مطلب چیه؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *