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

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

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

آشنایی با پروتکل SSH

 Secure Shell یا Secure Socket Shell که SSH شناخته می شود از پروتکل های شبکه است و تحت پروتکل IEFT توسعه پیدا کرده که کاربران می توانند از آن در بستری امن به عنوان یک راه دسترسی به کامپیوتری دیگر استفاده کنند. Secure Shell وظیفه تایید هویت و رمزگذاری اطلاعاتی که در یک شبکه باز تبادل می شوند را بر عهده دارد.

SSH امروزه بسیار کاربردی شده و مدیران شبکه می توانند از راه دور سیستم ها را مدیریت کنند ، دستورات خود را از راه دور وارد و اجرا کنند ، فایل ها را بین دو سیستم منتقل کنند و … . اصلی ترین تفاوتی که میان پروتکل SSH و سایر پروتکل ها مثل Telnet ، rLogin و … وجود دارد ، امنیت SSH و رمزگذاریی است که بر روی اطلاعات تبادل شده انجام می دهد. به کمک پروتکل SSH به راحتی می توان در یک بستر امن به ارتباط و تبادل اطلاعات میان Client و Server پرداخت.

برای استفاده از SSH معمولا از سرویس ها و نرم افزار های ssh که امکان استفاده از قابلیت های SSH را فراهم می کنند ، استفاده می شود. نکته قابل ذکر این است که SSH بیانگر پروتکل است و ssh نشانه سرویس ها و نرم افزار های این پروتکل است.

 باید گفت که پروتکل SSH نسخه تکمیل و امن شده پروتکل Telnet می باشد که از پورت 22 استفاده می کند.

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

کاربرد و قابلیت SSH چیست؟

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

برخی از قابلیت های بارز SSH عبارت هستند از :

  1. تایید هویت کاربر با روش های تایید مختلف
  2. انتقال اطلاعات به صورت خودکار در بستری امن
  3. امکان ارسال فرمان ها و دستورات از راه دور
  4. مدیریت اجزای زیر ساخت شبکه به صورت امن

و

در مورد تایید هویت با SSH باید گفت که گزینه های مختلفی برای این مورد وجود دارد که رایج ترین آنها استفاده از SSH KEY یا Public Key است.

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

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

پروتکل SSH دارای نسخه های مختلفی است که در طول زمان معرفی شده و همچنان نیز از آنها استفاده می شود. این نسخه ها در مواردی با یک دیگر تفاوت دارند که در ادامه به توضیح کامل در مورد نسخه های پروتکل SSH و تفاوت آنها می پردازیم.

نسخه SSH-1

اولین نسخه از پروتکل SSH شناخته می شود که توسط محقق فناوری دانشگاه Helsinki فنلاند ، Tatu Ylönen طراحی و معرفی شد و هدف آن جایگزینی SSH برای پروتکل هایی مثل rlogin ، TELNET ، rsh و … بود که در اکثر این پروتکل ها امنیت و محرمانه بودن اطلاعات تایید نمی شود و تایید هویتی قوی نیز وجود نداشت.

Tatu Ylönen در July 1995 پروتکل SSH را به عنوان یک نرم افزار رایگان منتشر کرد و به سرعت در سراسر جهان مجبوب شد به طوری که در پایان سال 1995 پروتکل SSH بیش از 20,000 کاربر در 50 کشور دنیا داشت. همچنین طی یک تخمین تا سال 2000 ، برآورد شده است که در حدود 2 میلیون نفر در سراسر جهان از SSH استفاده می کردند.

در نسخه های اصلی SSH از نرم افزار های رایگانی مثل GNU libgmp استفاده می شود اما در نسخه های بعدی که توسط SSH  ) Communications Security  تاسیس شده توسط( Ylönen  منتشر شد ، به نرم افزاری انحصاری تبدیل شدند.

نسخه SSH-2

در سال 2006 یک نسخه جدید از SSH توسط IETF منتشر شد که با نام SSH-2 به عنوان یک استاندارد پذیرفته شد و به دلیل تفاوت هایی که با نسخه SSH-1 دارد ، با این نسخه سازگار نیست.

SSH-2 از لحاظ ویژگی های امنیتی بهبود یافته و قابلیت های بیشتری نسبت به نسخه SSH-1 دارد که عبارتند از توانایی اجرای هر تعداد نشست دلخواه در یک اتصال SSH یا همان run any number of shell sessions over a single SSH connection

با توجه به اینکه تا آن زمان SSH-1 یک نسخه محبوب شناخته می شد و SSH-2 نیز برتری های قابل توجهی نسبت به آن داشت ، برخی از پیاده سازی ها مثل libssh و Dropbear تنها از نسخه پروتکل SSH-2 پشتیبانی می کنند.

نسخه SSH-1.99

این نسخه در حقیقت یک نسخه واقعی نیست و تنها روشی برای شناسایی سازگاری با نسخه های قبلی است.

در سال 2006 پس از تایید نسخه 2.1 ، RFC اعلام کرد که هر سرور SSH که از نسخه SSH-2 و سایر نسخه های قبلی SSH پشتیبانی می کند ، باید به عنوان نسخه پروتوی آن به عنوان SSH-1.99 شناخته شود.

نسخه OpenSSH

همانطور که در توضیحات نسخه SSH-1 اشاره کردیم ، پس از آن که پروتکل SSH به صورت انحصاری تبدیل شد ، در سال 1999 بسیاری از توسعه دهندگان که تمایل داشتند از SSH همچنان به عنوان یک نسخه منبع باز یا Open-source استفاده کنند ، به نسخه 1.2.12 که آخرین نسخه Open-source بود بازگشتند.

پس از این توسعه دهندگان OpenBSD اقدام به انتشار OpenSSH کردند که در حقیقت نسخه متن باز یا Open-source پروتکل SSH است و از سال 2005 به یکی از محبوب ترین نسخه های SSH تبدیل شده که به طور پیش فرض بر روی برخی از سیستم عامل ها عرضه می شود.

برای تشخیص نسخه SSH می توانید از کد دستوری زیر در ترمینال استفاده کنید.

ssh –v $

در پاسخ به این دستور نسخه SSH نمایش داده می شود.

پروتکل SSH چطور کار می کند؟

برای اینکه متوجه شویم پروتکل SSH چطور کار می کند ابتدا باید برای شما بیان کنیم که جهت ارتباط با سرور SSH از پورت 22 که استاندارد TCP است ، استفاده می شود.

SSH علاوه بر اجرای دستورات از راه دور ، از tunneling ، فوروارد پورت های TCP و اتصالات X11 پشتیبانی می کند و می تواند اطلاعات و فایل ها را با استفاده از پروتکل های SFTP یا CSP انتقال دهد.

یک SSH client معمولا برای ایجاد اتصالات استفاده می شود و یک SSH daemon برای پذیرفتن اتصالات از راه دور که در اکثر سیستم عامل های امروزی مثل MacOS یا توزیع های GNU/Linux و OpenBSD ، FreeBSD ، NetBSD و OpenVMS به طور پیش فرض وجود دارند. همچنین از نسخه 1709 به بعد ویندوز SSH به طور پیش فرض وجود دارد.

Secure Shell جایگزینی برای پروتکل ها و ترمینال های نا امن مثل Telnet و rlogin ایجاد شد و می تواند جایگزین پروتکل های انتقال فایل مثل FTP و rcp باشد و اساسی ترین استفاده آن برای اتصال از راه دور به یک هاست یا سرور لینوکس است.

فرم دستور اتصال به صورت ssh UserName@SSHserver.example.com است که SSHserver.example.com در حقیقت فرمان اتصال به سرور و UserName نام کاربری یا ID جهت اتصال است.

در صورتی که این اولین ارتباط بین کاربر و سرور باشد ، کاربر با استفاده از کلید عمومی می تواند درخواست اتصال کند و در صورتی برقرای اتصال ، کلید میزبان در فایل known_hosts سیستم ذخیره می شود و برای دفعات بعدی دیگر بدون نیاز به تایید دوباره اتصال برقرار می شود زیرا کلید میزان یا host key اتصال را تایید می کند.

 

طراحی اپلیکیشن اندروید | طراحی وب سایت | شرکت ایده پردازان پاراکس

  • logo-samandehi
  • logo-nezam-senfi
  • samane-tadarokat-electronic
  • logo-bakutel
  • انجمن صنفی کارفرمایی فروشگاه های اینترنتی شهر تهران
  • شورای عالی انفورماتیک کشور
  • اتحادیه صنف فناوران رایانه تهران
  • etehadieMajazi