SSH و Telnet دو پروتکلی هستند که معمولا برای ورود به سیستم از راه دور و انجام وظایف پیکربندی و مدیریت بر روی دستگاههایی که از طریق شبکه متصل هستند استفاده میشوند و البته تفاوتهایی در ویژگیهای امنیتی و عملیاتی دارند. با توجه به تدابیر امنیتی قوی که در پروتکلها پیاده سازی شده ، SSH محبوبترین آنها در شبکههای مدرن است.
Telnet بسیار قدیمیتر از SSH بوده و تقریبا منسوخ در نظر گرفته میشود زیرا دادههای ارسال شده بین کاربر و سیستم را رمزگذاری نکرده و مستعد تهدیدات مربوط به امنیت است. دانستن تفاوت بین SSH و Telnet معمولا برای جلوگیری از سردرگمی و اتخاذ تصمیم درست در ساخت شبکه مهم است.
SSH یا Secure SHell
SSH یا Secure SHell در حال حاضر پروتکل اصلی برای دسترسی به دستگاهها و سرورهای شبکه از طریق اینترنت است. SSH توسط SSH Communications Security Ltd توسعه یافته و برنامهای است برای ورود به کامپیوتر دیگر از طریق شبکه، اجرای دستورات در یک ماشین ریموت و انتقال فایلها از یک دستگاه به دستگاه دیگر.
- احراز هویت قوی و ارتباطات ایمن را از طریق کانالهای ناامن فراهم میکند.
- SSH به طور پیشفرض روی پورت 22 اجرا میشود. با این حال، میتوان آن را به راحتی تغییر داد. SSH یک پروتکل بسیار امن است زیرا اطلاعات را به صورت رمزگذاری شده به اشتراک گذاشته و ارسال میکند که محرمانه بودن و امنیت دادهها را از طریق یک شبکه ناامن مانند اینترنت فراهم می نماید.
- هنگامی که دادههای ارتباطی با استفاده از SSH رمزگذاری میشوند، رمزگشایی و خواندن آن دادهها بسیار دشوار است، بنابراین رمزهای عبور برای سفر در یک شبکه عمومی ایمن میشوند.
- SSH همچنین از یک کلید عمومی برای احراز هویت کاربرانی که به سرور دسترسی دارند استفاده میکند که عالی است و امنیت فوق العادهای را برای ما فراهم مینماید. SSH معمولا در تمام سیستم عاملهای محبوب مانند Unix، Solaris، Red Hat Linux، CentOS، Ubuntu و غیره استفاده میشود.
- SSH از شبکه در برابر حملاتی مانند IP spoofing، IP source routing و DNS spoofing محافظت میکند. مهاجمی که موفق به تسلط بر شبکه شده است فقط میتواند SSH را مجبور به قطع اتصال کند. وقتی رمزگذاری فعال است، نمیتواند ترافیک را پخش یا کانکشن را هایجک کند.
- هنگام استفاده از لاگین ssh (به جای rlogin)، کل جلسه ورود، از جمله انتقال رمز عبور، رمزگذاری میشود. بنابراین جمع آوری رمز عبور برای افراد خارجی تقریبا غیرممکن است.
نصب برنامههای کاربردی OpenSSH در سرور و کلاینت سادهتر است.
برای نصب آن بر روی سیستم اوبونتو، از این دستور در اعلان ترمینال استفاده کنید:
$sudo apt-get update
$sudo apt install openssh-client
برای نصب برنامه سرور OpenSSH و فایلهای پشتیبانی مربوطه، از این دستور در اعلان ترمینال استفاده کنید:
$sudo apt-get update
$sudo apt install openssh-server
به همین سادگی، کار تمام است.
خرید سرور مجازی در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
Telnet
Telnet مخفف Telecommunications and Networks و پروتکل شبکهای است که بیشتر برای پلتفرم یونیکس شناخته شده است. Telnet از پورت 23 استفاده میکند و به طور خاص برای شبکههای محلی طراحی شده است.
- Telnet به دلیل اصلی بودن اینترنت در زمانی که Net برای اولین بار در سال 1969 راه اندازی شد و به عنوان نوعی کنترل از راه دور برای مدیریت کامپیوترهای مرکزی از ترمینالهای دور، مشهور است. در آن روزهای ابتدایی کامپیوترهای بزرگ، telnet به دانشجویان و اساتید پژوهشی این امکان را میداد تا از هر ترمینالی در ساختمان به سیستم مرکزی دانشگاه وارد شوند.
- این ورود از راه دور باعث صرفهجویی در ساعتها پیادهروی در هر ترم برای محققان شد. در حالی که telnet در مقایسه با فناوری شبکه مدرن کمرنگ بود، در سال 1969 بود منقلب شده و به هموار کردن راه برای نهایی شدن وب جهانی در سال 1989 کمک کرد. در حالی که فناوری telnet بسیار قدیمی است، هنوز هم مورد استفاده نابگرایان (Purism) است.
- Telnet یک پروتکل ارتباطی امن نیست زیرا از هیچ مکانیسم امنیتی استفاده نکرده و دادهها را از طریق شبکه یا اینترنت به صورت plain-text شامل رمزهای عبور انتقال میدهد و بنابراین هرکسی میتواند بستهها را بشنود تا آن اطلاعات مهم را به دست آورد.
- هیچ خطمشی احراز هویت و تکنیکهای رمزگذاری دادهها در telnet استفاده نمیشود که تهدید امنیتی بزرگی را ایجاد میکند، به همین دلیل است که telnet دیگر برای دسترسی به دستگاهها و سرورهای شبکه از طریق شبکه عمومی استفاده نمیشود.
در اوبونتو میتوانیم telnet را با دستورات زیر نصب کنیم:
$sudo apt-get install xinetd telnetd
پس از اتمام نصب، سرویس باید به طور خودکار فعال شود. همچنین میتوانید وضعیت سرویس را در صورت لزوم با استفاده از:
$sudo /etc/init.d/xinetd status
برای تلنت یک IP:
$telnet serverip
اگر میخواهید پورتهای آن را تغییر دهید، باید /etc/services را با خط زیر ویرایش کنید:
$telnet 23/tcp
پس از تغییر، سرویس را ریستارت کنید تا تغییرات اعمال شود:
$sudo /etc/init.d/xinetd restart
در حال حاضر ممکن است به نظر برخی از دستورات ترمینال خسته کننده و حواس پرت به نظر برسد، اما اگر سعی کنید آنها را یک بار در ترمینال خود اجرا کنید، به من اعتماد کنید بسیار آسان خواهید بود!
درست مانند SSH، Telnet نیز ظاهراً فقط یک صفحه ترمینال کسل کننده و خسته کننده است اما دارای برخی ویژگی های غیرقابل تصور است.
تفاوت بین SSH و Telnet
ویژگی | SSH (Secure Shell) | Telnet (Telecommunication Network) |
---|---|---|
امنیت | SSH دادههای ارسال شده را رمزگذاری کرده و از محرمانه بودن و یکپارچگی اطمینان میدهد. | Telnet دادهها را به صورت plain text منتقل میکند که آن را در حملات man-in-the-middle آسیب پذیر میکند. |
احراز هویت | SSH از روشهای احراز هویت قوی مانند احراز هویت مبتنی بر رمز عبور یا تایید هویت مبتنی بر کلید استفاده میکند. | Telnet از روشهای اصلی احراز هویت، اغلب بدون رمزگذاری، استفاده میکند که آن را ناامن میکند. |
پورت پیشفرض | 22 | 23 |
رمزگذاری داده ها | دادهها رمزگذاری شدهاند و ارتباطات ایمن را از طریق شبکه فراهم میکنند. | بدون رمزگذاری، دادهها به صورت plain text منتقل میشوند. |
استفاده |
معمولا برای مدیریت ایمن از راه دور دستگاهها و سیستمهای شبکه استفاده میشود. |
معمولا برای مدیریت از راه دور دستگاهها استفاده میشود اما به دلیل خطرات امنیتی تا حد زیادی منسوخ شده است. |
پروتکل | SSH پروتکلی است که کانالهای امن و رمزگذاری شده را روی یک شبکه ناامن فراهم میکند. | Telnet یک پروتکل قدیمی است که ارتباطات رمزگذاری نشده را از طریق شبکه فراهم میکند. |
انتقال فایل | SSH از انتقال فایل با استفاده از SCP (Secure Copy) یا SFTP (Secure File Transfer Protocol) پشتیبانی میکند. | Telnet به صورت بومی از انتقال فایل پشتیبانی نمیکند. |
پشتیبانی از سیستم عامل | پشتیبانی سیستم عامل به طور گسترده در سیستم عاملهای مختلف (یونیکس، لینوکس، ویندوز) پشتیبانی میشود. | در بسیاری از سیستمها پشتیبانی میشود، اما منسوخ و با پروتکلهای امنتر، جایگزین شده است. |
در نهایت، برخی از کلاینتهای SSH وجود دارند، نرمافزاری که میتوانید برای راهاندازی ارتباط با سرور SSH برای همه سیستمعاملهای اصلی و سیستمعاملهای موبایل استفاده کنید.
- Mac OS X و Linux: موجود در ترمینال به صورت built-in
- ویندوز: برنامه PuTTY و...
- اندروید: اپلیکیشن JuiceSSH و...
- iOS: اپلیکیشن Prompt و...
اگر میخواهید کامپیوتر ویندوزی خود را به یک کامپیوتر لینوکس ریموت متصل کنید، به نرم افزاری به نام PuTTY نیاز دارید.
بعد از نصب خیلی شبیه به این می شود:
نتیجه گیری
SSH و Telnet هر دو برای مدیریت دستگاهها از راه دور استفاده میشوند، اما تفاوت زیادی از نظر تامین امنیت شبکه وجود دارد. SSH در شبکههای امروزی توصیه میشود زیرا جنبههای رمزگذاری و احراز هویت نسبتا بالایی دارد و از این رو امنیت شبکه را افزایش میدهد. اگرچه استفاده از Telnet و پیادهسازی آن آسانتر است، اما برای اکثر برنامهها ناامن تلقی میشود و به اندازه پروتکلهای جایگزین آن مورد استفاده قرار نگرفته است. برای دستیابی به ارزیابی مناسب پروتکلها، درک نقاط قوت و ضعف آنها برای اطمینان از اینکه بهترین تناسب آنها در برآورده کردن عملکرد شبکه مورد نیاز استفاده میشود، حیاتی است.
نظرتون برامون مهمه شما اولین نظر رو بنویسید