پروتکل SSH یا Secure Shell یک پروتکل ارتباطی شبکهای است که دو کامپیوتر را قادر میسازد تا با یکدیگر ارتباط رمزگذاری شده برقرار کنند. یکی از ویژگیهای مهم SSH این است که موجب میشود که یک سرور و یک کلاینت با یک دیگر ارتباط رمز گذاری شده برقرار کنند. SSH یک پروتکل مدیریت از راه دور است. که به کاربران امکان دسترسی، کنترل و اصلاح سرورهای راه دور خود را از طریق اینترنت میدهد. سرویس SSH به عنوان جایگزینی امن برای Telnet رمزگذاری شده ایجاد شده است و از تکنیکهای رمزنگاری استفاده میکند تا اطمینان حاصل کند که تمام ارتباطات به سرور از راه دور به صورت رمزگذاری شده انجام میشود.
پروتکل SSH چیست؟
SSH اغلب برای ورود به سیستم و انجام عملیات در رایانههای راه دور استفاده میشود، اما ممکن است برای انتقال داده نیز به کار گرفته شود. SSH که با نامهای Secure Shell یا Secure Socket Shell نیز شناخته میشود، یک پروتکل شبکه است که به کاربران، به ویژه مدیران سیستم، راهی امن برای دسترسی به رایانه از طریق یک شبکه امن میدهد.
کاربرد پروتکل SSH
سرویس SSH مکانیزمی برای احراز هویت یک کاربر از راه دور، انتقال ورودیها از کلاینت به میزبان و بازگرداندن خروجی به مشتری ارائه میدهد. علاوه بر ارائه رمزگذاری قوی، SSH به طور گسترده توسط مدیران شبکه برای مدیریت سیستمها و برنامههای کاربردی از راه دور استفاده میشود و آنها را قادر میسازد تا از طریق شبکه به رایانه دیگری وارد شوند، دستورات را اجرا کنند و فایلها را از یک رایانه به رایانه دیگر منتقل کنند.
SSH همچنین به مجموعه ابزارهایی اشاره دارد که پروتکل SSH را پیاده سازی میکنند. Secure Shell احراز هویت رمز عبور قوی، احراز هویت کلید عمومی، و همچنین ارتباطات داده رمزگذاری شده، بین دو کامپیوتری که از طریق یک شبکه باز مانند: اینترنت متصل میشوند را فراهم میکند.
معرفی 3 تکنیک مختلف رمزگذاری
مزیت قابل توجه ارائه شده توسط SSH نسبت به پیشینیان خود، استفاده از رمزگذاری برای اطمینان از انتقال امن اطلاعات بین میزبان و مشتری است. پروتکل SSH از سه روش متفاوت برای رمزگذاری استفاده میکند:
• رمز گذاری متقارن
• رمز گذاری نامتقارن
• هش کردن
رمزگذاری متقارن
رمزگذاری متقارن شکلی از رمزگذاری است که در آن یک کلید مخفی هم برای رمزگذاری و هم برای رمزگشایی استفاده میشود. در واقع، هر کسی که کلید را در اختیار دارد میتواند پیامی را که منتقل میشود رمزگشایی کند. رمزگذاری متقارن اغلب کلید مشترک یا رمزگذاری مخفی مشترک نامیده میشود. هم کلاینت و هم سرور، کلید مخفی را با استفاده از یک روش توافق شده استخراج می کنند. در این روش، یک کلید انفرادی برای رمزگذاری پیامهای ارسال شده از سرور و یک کلید مشابه برای رمزگشایی دادهها در هدف خود، استفاده میشود.
رمزگذاری نامتقارن
بر خلاف رمزگذاری متقارن، رمزگذاری نامتقارن از دو کلید مجزا برای رمزگذاری و رمزگشایی استفاده میکند. این دو کلید با نامهای کلید عمومی و کلید خصوصی شناخته میشوند. هر دو این کلیدها با هم یک جفت کلید عمومی-خصوصی را تشکیل میدهند.
هنگامی که یک ارتباط متقارن ایمن برقرار شد، سرور از کلید عمومی کلاینت برای تولید، چالش و انتقال آن به مشتری برای احراز هویت استفاده میکند. اگر کلاینت بتواند پیام را با موفقیت رمزگشایی کند، به این معنی است که کلید خصوصی مورد نیاز برای اتصال را در خود نگه میدارد.
رمزگذاری نامتقارن تا حدی پیچیدهتر از استراتژی امنیتی متوازن است. برای این تکنیک، از دو کلید مجزا برای به هم زدن رمزگشایی استفاده میشود. برای دریافت این ارتباط از کلید عمومی و کلید خصوصی استفاده میشود. کلید عمومی را میتوان به هر کسی ارائه کرد، اما کلید خصوصی به ندرت به اشتراک گذاشته میشود. هر پیامی که با استفاده از کلید عمومی یک سازمان درهم میآید باید با استفاده از کلید خصوصی حذف شود. کلید خصوصی روی مشتری SSH نگهداری میشود، در حالی که کلید عمومی روی سرور پروتکل SSH باقی میماند.
هش کردن
هشینگ یکی دیگر از روشهای معروف رمزنگاری است که در آن از اعداد و حرف برای رمزنگاری استفاده میشود. اعداد و حروف به صورت نامفهوم در کنار هم قرار میگیرند، اما در هر کدام محتوایی نگهداری میشود، که پس از رمزگشایی قابل استفاده هستند.
تولید هش رمزنگاری از یک ورودی داده شده آسان است، اما تولید ورودی از هش غیرممکن است. این بدان معناست که اگر یک کلاینت ورودی صحیح را داشته باشد، میتواند هش رمزنگاری را ایجاد کند و مقدار آن را برای بررسی کند.
SSH از هش برای تایید صحت پیامها استفاده میکند. این کار با استفاده از HMACها یا کدهای احراز هویت پیام مبتنی بر هش انجام میشود. این موضوع تضمین میکند که دستور دریافت شده به هیچ وجه دستکاری نمیشود. HMACها میتوانند پیامها را به طور کامل و بدون تغییر منتقل کنند. هنگام استفاده از یک کار هش، هر پیامی که باید ارسال شود باید حاوی چیزی باشد که ما آن را MAC مینامیم.
احراز هویت کاربر
آخرین مرحله قبل از دسترسی کاربر به سرور، احراز هویت اعتبار اوست. برای این کار، اکثر کاربران SSH از رمز عبور استفاده میکنند. از کاربر خواسته میشود نام کاربری و پس از آن رمز عبور را وارد کند. این اعتبارنامهها به طور ایمن از طریق تونل رمزگذاری شده متقارن عبور میکنند. بنابراین هیچ شانسی برای گرفتن آنها توسط شخص ثالث وجود ندارد.
پروتکل SSH چگونه کار میکند؟
رمزنگاری کلید عمومی برای رمزگذاری دادهها با استفاده از پروتکل SSH صورت میگیرد. این بدان معنی است که وقتی یک اتصال برقرار شود، دادهها توسط رمزنگاری متقارن رمزگذاری میشوند. فقط سیستمهایی که از طریق این اتصال متصل هستند، کلید رمزگذاری را میدانند. هنگامی که افراد غیر مجاز وارد شبکه میشوند، رمزگذاری این افراد را رد میکند. این امر دیدن و سرقت دادهها، مانند رمزهای عبور مهم را غیرممکن میکند.
چرا از پروتکل SSH استفاده کنیم؟
البته SSH امنیت زیادی را برای توزیع دادهها و ارتباط بین رایانههای مختلف ارائه میدهد که یک مزیت بزرگ است. علاوه بر این، مزیت اصلی SSH این است که احراز هویت با یک جفت کلید عمومی و مخفی امکان پذیر است. این اجازه میدهد تا برنامههای SSH به طور خودکار بدون نیاز به رمز عبور استفاده شوند.
علاوه بر این، هر سیستمی که کلید عمومی به آن اختصاص داده شده است، میتواند با استفاده از کلید مخفی نیز وارد سیستم شود. اگر مالک، تصمیم به تغییر رمز عبور کلید مخفی داشته باشد، هیچ خطری جفت کلید را تهدید نخواهد کرد. SSH جایگزین پروتکلهای قدیمیتر مانند telnet میشود که از رمزگذاری استفاده نمیکردند. بنابراین SSH بسیار امنتر است.
نتیجه گیری
پروتکل SSH یک پروتکل شبکه رمزنگاری است که به دو رایانه اجازه میدهد تا با یک شبکه ناامن مانند؛ اینترنت ارتباط برقرار کرده و دادهها را به اشتراک بگذارند. برای ورود به یک سرور راه دور برای اجرای دستورات و انتقال داده ها از یک ماشین به ماشین دیگر استفاده میشود. (SSH) یک پروتکل شبکه رمزنگاری برای عملیات ایمن خدمات شبکه، در یک شبکه ناامن است. برنامههای کاربردی SSH بر اساس معماری سرویس گیرنده-سرور است که یک نمونه سرویس گیرنده SSH را به یک سرور SSH متصل میکند. ویژگیهای امنیتی آن به طور گسترده توسط مدیران شبکه برای مدیریت سیستمها و برنامههای کاربردی از راه دور استفاده میشود.