موضوع مقاله

پروتکل SSH

SSH که با نام‌های Secure Shell یا Secure Socket Shell نیز شناخته می‌شود، یک پروتکل شبکه است که به کاربران به‌ویژه مدیران سیستم، راهی امن، برای دسترسی به رایانه از طریق یک شبکه ناامن می‌دهد. SSH همچنین به مجموعه ابزارهایی اشاره دارد که پروتکل SSH را پیاده‌سازی می‌کنند. در ادامه این نوشته برای دریافت پاسخ سوال پروتکل SSH چیست؟ با ما همراه باشید.

SSH مخفف Secure Shell یا Secure Socket Shell یک پروتکل مدیریت از راه دور بوده که برای کاربر امکان دسترسی، کنترل و مدیریت سرورهای راه دور را از طریق اینترنت فراهم می کند و در واقع می توان گفت SSH یک جایگزین امن برای Telnet است که از تکنیک های رمزنگاری استفاده می کند تا تمام ارتباطات به سرور و از سرور به کلاینت، به صورت رمزگذاری شده انجام شود. معمولا از این پروتکل برای اتصال به سرورهای لینوکسی استفاده می شود و به واسطه همین می توان دسترسی مدیریت سرور را از راه دور و به صورت امن انجام داد. در واقع SSH یکی از ابزارهای ضروری برای ورود امن به سیستم های راه دور و رایج ترین راه برای دسترسی به سرورهای لینوکس از راه دور است

قابلیت‌های Secure Shell

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

 

  • • دسترسی از راه دور ایمن به سیستم‌ها یا دستگاه‌های شبکه دارای SSH برای کاربران و همچنین فرآیندهای خودکار

  • • جلسات انتقال فایل امن و تعاملی

  • • انتقال خودکار و ایمن فایل

  • • صدور ایمن دستورات در دستگاه‌ها یا سیستم‌های راه دور

  • • مدیریت ایمن اجزای زیرساخت شبکه

تاریخچه پروتکل SSH

پروتکل ssh پروتکل SSH SSH HISTORY

اولین نسخه SSH در سال 1995 توسط Tatu Ylönen طراحی شد که در آن زمان محققی در دانشگاه فناوری هلسینکی بود و بعداً SSH Communications Security، یک فروشنده امنیت سایبری مستقر در فنلاند را راه‌اندازی کرد.
با گذشت زمان، نقص‌های مختلفی در SSH-1 یافت شد. آن نسخه در حال حاضر منسوخ شده و برای استفاده امن نیست. SSH-2، نسخه فعلی پروتکل‌های Secure Shell، در سال 2006 توسط کارگروه مهندسی اینترنت IETF به عنوان مشخصات آهنگ استاندارد پذیرفته شد. SSH-2 با SSH-1 سازگار نیست و از تبادل کلید Diffie-Hellman استفاده می‌کند.

کلاینت‌ها و سرورهای SSH می‌توانند از تعدادی روش رمزگذاری استفاده کنند که بیشتر مورد استفاده قرار می‌گیرد مانند استاندارد رمزگذاری پیشرفته (AES) و Blowfish. هیچ آسیب‌پذیری قابل سوء استفاده شناخته شده‌ای در SSH-2 وجود ندارد، اگرچه اطلاعاتی که ادوارد اسنودن در سال 2013 به بیرون درز کرد نشان می‌دهد که آژانس امنیت ملی (NSA) ممکن است بتواند برخی از ترافیک SSH را رمزگشایی کند.

SSH در مقابل Telnet

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

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

در حالی که Telnet عمدتاً برای شبیه‌سازی ترمینال استفاده می‌شود، SSH می‌تواند برای انجام شبیه سازی ترمینال – مشابه دستور rlogin – و همچنین برای صدور دستورات از راه دور مانند rsh، انتقال فایل‌ها با استفاده از پروتکل SSH File Transfer Protocol (SFTP) و تونل زدن سایر موارد استفاده شود

SSH در مقابل SSL/TLS

پروتکل امنیت لایه حمل و نقل (TLS) که پروتکل لایه سوکت‌های امن (SSL) را به روز می‌کند، برای تامین امنیت برای انتقال شبکه در لایه انتقال طراحی شده است. پروتکل SSH نیز در لایه انتقال یا درست بالای آن عمل می‌کند اما تفاوت‌های مهمی بین این دو پروتکل وجود دارد.

در حالی که هر دو به جفت کلید عمومی/خصوصی برای احراز هویت‌هاست متکی هستند، فقط سرور با یک جفت کلید تحت TLS احراز هویت می‌شود. SSH از یک جفت کلید جداگانه برای احراز هویت هر اتصال استفاده می‌کند: یک جفت کلید برای اتصال از یک ماشین محلی به یک ماشین راه دور و یک جفت کلید دوم برای تأیید اعتبار اتصال از ماشین راه دور به ماشین محلی. تفاوت دیگر بین SSH و TLS این است که TLS امکان رمزگذاری اتصالات را بدون احراز هویت یا احراز هویت بدون رمزگذاری را فراهم می‌کند. SSH همه اتصالات را رمزگذاری و احراز هویت می‌کند.

پروتکل SSH به متخصصان IT و امنیت اطلاعات (infosec) مکانیزمی امن برای مدیریت کلاینت‌های SSH از راه دور ارائه می‌دهد. SSH به جای نیاز به احراز هویت رمز عبور برای راه‌اندازی ارتباط بین سرویس گیرنده و سرور SSH، خود دستگاه‌ها را احراز هویت می‌کند. این کار کارکنان فناوری اطلاعات را قادر می‌سازد تا با سیستم‌های راه دور ارتباط برقرار کنند و پیکربندی‌های SSH را تغییر دهند، از جمله افزودن یا حذف جفت‌های کلید میزبان در فایل Known_hosts

پیاده سازی پروتکل SSH

SSH یک پروتکل باز است. برای اکثر پلتفرم‌های محاسباتی پیاده‌سازی شده است. اجرای OpenSSH منبع باز یکی از رایج‌ترین موارد در لینوکس، یونیکس و سایر سیستم‌عامل‌های مبتنی بر توزیع نرم‌افزار برکلی (BSD)، از جمله macOS اپل است.

 

OpenSSH از سال 2015 برای اجرا در Windows PowerShell منتقل شد. در سال 2018، پشتیبانی اختیاری OpenSSH به ویندوز 10 اضافه شد. در حالی که SSH به طور پیش‌فرض در اکثر سیستم‌عامل‌های شبه یونیکس مستقیماً قابل دسترسی است، نسخه پورت‌شده OpenSSH مایکروسافت باید به‌صراحت در ویندوز فعال شود. برنامه تنظیمات PuTTY یکی دیگر از اجرای متن باز SSH است. در حالی که در حال حاضر برای Windows، macOS و Unix/BSD در دسترس است، PuTTY در ابتدا برای اجرا در ویندوز نوشته شده بود. مدت هاست که یکی از گزینه‌های برتر برای استفاده از SSH در سیستم ویندوز بوده است.

اکثر پیاده سازی‌های مجموعه پروتکل SSH شامل سه ابزار است:

این‌ها نسخه‌های امن ابزارهای ناامن قبلی یونیکس هستند: rlogin، rsh و rcp. SSH از رمزنگاری کلید عمومی برای تأیید اعتبار رایانه راه دور استفاده می‌کند و رایانه راه دور را قادر می‌سازد تا در صورت لزوم کاربر را تأیید کند. در حال حاضر ده‌ها پیاده سازی SSH برای پلتفرم‌های مختلف و تحت انواع مجوزهای منبع باز و اختصاصی موجود است.

ساختار و عملکرد پروتکل SSH چگونه است؟

اگر بخواهیم خیلی خلاصه و مفید مکانیسمی که این پروتکل استفاده می کند را توضیح دهیم باید بگوییم که SSH برای ارائه یک ارتباط امن و از راه دور از سه لایه مختلف رمزگذاری استفاده می کند که عبارتند از :

لایه انتقال (transport layer)، که ارتباط امن بین سرور و کلاینت (مشتری) را تضمین می کند و از رمزگذاری/رمزگشایی داده ها محاظت می کند.
لایه احراز هویت (authentication layer)، که وظیف احراز هویت مشتری را بر عهده دارد.
لایه اتصال (connection layer)، که وظیفه مدیریت کردن کانال های ارتباطی پس از احراز هویت را به عهده دارد.

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

معمولا برای افزایش امنیت SSH پورت پیشفرض آن را که 22 است به یک عدد دیگر تغییر می دهند که تحت حملات Brute Force نباشد. 

نرم‌افزار PUTTY ابزاری برای پشتیبانی از SSH

پروتکل ssh پروتکل SSH PuTTY Icon upstream

برای ارتباط با سرور از طریق پروتکل ssh نرم‌افزارهای مختلفی وجود دارد که نرم افزار PUTTY یکی از بهترین‌های آن‌هاست. PUTTY در هر دو پلتفرم ویندوز و یونیکس قابل استفاده است.

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
0
افکار شما را دوست داریم، لطفا نظر دهید.x