SSH چیست ؟

 

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

 

برقراری ارتباط SSH

 
 

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

 

SSH

 

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

هم‌چنین این پروتکل جایگزین مناسبی برای پروتکل‌های نا‌امنی همانند telnet است که در آن تمام اطلاعات به‌شکل یک متن رمز نشده ارسال و دریافت می‌شوند. مهم ترین و رایج‌ترین کابرد SSH، اتصال به یک سرور و اجرای دستور است‌. اما چون با استفاده از SSH می‌توان یک کانال امن به وجود آورد، از آن برای کپی کردن یک فایل از یک سیستم به سیستم دیگر به طور امن (با استفاده از SCP) یا انتقال امن اطلاعات (SFTP) نیز استفاده می‌شود. با استفاده از تونل ایجاد شده، می‌توان بخشی از ترافیک را از سرور عبور داد و از آن به عنوان VPN server استفاده نمود.

 

کاربردهای اصلی SSH کدامند؟

 

اتصالات SSH بیشتر برای ایمن سازی انواع مختلف ارتباطات بین یک ماشین محلی و یک میزبان راه دور استفاده شده است:

  • ارائه وصله‌های نرم افزاری و به روز رسانی

  • دسترسی ایمن از راه دور به منابع

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

  • اجرای دستورات از راه دور

 

SSH

 

نحوه کار SSH

 

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

 

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

 
  •  حمل و نقل: ارتباط امن بین سرور و مشتری را تضمین ، رمزگذاری و یا رمزگشایی داده‌ها را نظارت و از یکپارچگی اتصال محافظت می‌کند. همچنین داده‌ها را ذخیره و فشرده سازی می‌کند.

  • احراز هویت: این لایه روال احراز هویت مشتری را انجام می‌دهد.

  • لایه اتصال: کانال‌های ارتباطی را پس از احراز هویت مدیریت می‌کند.

 

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

پست مرتبط

نظر خود را بگذارید