Deprecated: Automatic conversion of false to array is deprecated in /home/atiparda/public_html/wp-content/plugins/pixfort-likes/pixfort-likes.php on line 232
پروتکل SSH
SSH که یا Secure Shell یا Secure Socket Shell نیز شناخته میشود، یک پروتکل شبکه است. این پروتکل، به کاربران، به ویژه مدیران سیستم، روشی ایمن برای دسترسی به رایانه از طریق شبکه نا امن ارائه میدهد. علاوه بر ارائه خدمات شبکه ایمن، SSH به مجموعه برنامههای کاربردی اشاره دارد که پروتکل SSH را اجرا میکنند. یعنی SSH هم به پروتکل رمزنگاری شبکه اشاره دارد. هم به مجموعه برنامههای کاربردی که آن پروتکل را اجرا میکنند.
ویژگیهای پروتکل SSH
پروتکل SSH یا Secure Shell روشی برای ارسال ایمن دستورات به رایانه، از طریق یک شبکه نا امن است. این پروتکل، از رمزنگاری برای احراز هویت و رمزگذاری اتصالات بین دستگاهها استفاده میکند. SSH همچنین امکان تونل زنی یا ارسال پورت را فراهم میکند. به کمک این ویژگی، بستههای داده قادر به عبور از شبکههایی هستند که در حالت عادی، مجاز به عبور از آنها نیستند. SSH اغلب برای کنترل سرورها از راه دور، مدیریت زیرساختها و نیز انتقال فایلها مورد استفاده قرار میگیرد.
هنگام مسافرت، صاحب یک فروشگاه ممکن است به کارکنان خود دستوراتی را از راه دور بدهد تا اطمینان حاصل کند که فروشگاه در زمان غیبت او، به خوبی کار میکند. به طور مشابه، SSH نیز به مدیران شبکه اجازه میدهد تا سرورها و دستگاهها را از دور مدیریت کنند. پروتکلهای مدیریت از راه دور قدیمیتری مانند Telnet، دستورات مدیران را به شکلی منتقل میکردند که همه میتوانستند ببینند. (در مثالی که زدیم، تصور کنید اگر کارمندان، تماس صاحب فروشگاه را روی بلندگو قرار دهند، در این صورت، همه مشتریان در فروشگاه میتوانند دستورالعملهای خصوصی او به کارمندان را بشنوند). اما برخلاف Telnet، پروتکل SSH، امن است. از این رو است که Secure Shell نامیده میشود.
رمزنگاری کلید عمومی
SSH “امن” است زیرا رمزگذاری و احراز هویت را از طریق فرآیندی به نام رمزنگاری کلید عمومی ترکیب میکند. رمزنگاری کلید عمومی، راهی برای رمزگذاری دادهها یا امضای دادهها با دو کلید مختلف است. یکی از کلیدها، کلید عمومی است که برای استفاده هر کسی در دسترس است. کلید دیگر، کلید خصوصی است. این کلید توسط صاحب آن مخفی نگاه داشته میشود. از آنجایی که دو کلید با یکدیگر مطابقت دارند، تعیین هویت مالک کلید مستلزم داشتن کلید خصوصی است که با کلید عمومی همراه است.
تونل زنی SSH یا “انتقال پورت”
پورت فورواردینگ مانند ارسال پیام بین دو نفر است. کاربر 1 ممکن است پیامی برای کاربر 2 بفرستد و او نیز به نوبه خود آن را به کاربر 3 دهد. به طور مشابه، حمل و نقل پورت، بستههای دادهای را که به آدرس IP و پورت یک دستگاه هدایت میشوند، به یک آدرس IP و پورت در دستگاه دیگری ارسال میکند.
به عنوان مثال، تصور کنید یک مدیر میخواهد در سروری از یک شبکه خصوصی که مدیریت میکند، تغییری ایجاد کند. او میخواهد این کار را از یک مکان در راه دور انجام دهد. به دلایل امنیتی، آن سرور فقط بستههای داده را از رایانههای دیگری در شبکه خصوصی دریافت میکند. در این حالت، مدیر میتواند به سرور دوم در شبکه متصل شود. یعنی همان سروری که برای دریافت ترافیک اینترنت باز است. سپس از ارسال پورت SSH برای اتصال به سرور اول استفاده کند. با این کار، از دیدگاه سرور اول، بستههای داده مدیر از داخل شبکه خصوصی میآیند.
استفاده از SSH در دستگاههای مختلف
سیستمعاملهای لینوکس و مک با SSH داخلی عرضه میشوند. ماشینهای ویندوز ممکن است نیاز به نصب برنامه کلاینت SSH داشته باشند. در رایانههای مک و لینوکس، کاربران میتوانند برنامه ترمینال را باز کرده و مستقیماً دستورات SSH را وارد کنند.
SSH برای چه مواردی استفاده می شود؟
از نظر فنی، SSH میتواند هر گونه داده دلخواهی را از طریق یک شبکه انتقال دهد. در واقع، تونل SSH را میتوان برای اهداف بیشماری راه اندازی کرد. با این حال، رایجترین موارد استفاده از SSH عبارتند از:
- مدیریت از راه دور سرورها، زیرساختها و رایانههای کارکنان
- انتقال ایمن فایلها (SSH، امنتر از پروتکلهای رمزگذاری نشده مانند FTP است)
- دسترسی به خدمات در فضای ابری بدون قرار دادن پورتهای یک دستگاه لوکال در معرض اینترنت
- اتصال از راه دور به خدمات در یک شبکه خصوصی
- دور زدن محدودیتهای فایروال
SSH از چه پورتی استفاده می کند؟
پورت 22، پورت پیش فرض SSH است. گاهی اوقات، فایروال ها ممکن است دسترسی به پورت های خاصی را در سرورهای پشت فایروال مسدود کنند، اما پورت 22 را باز می گذارند. بنابراین SSH برای دسترسی به سرورهای طرف دیگر فایروال مفید است. یعنی بستههای هدایت شده به پورت 22 مسدود نمیشوند و میتوانند به هر پورت دیگری ارسال شوند.
پروتکل SSH چگونه کار میکند؟
پروتکل در مدل کلاینت – سرور کار میکند. به این معنی که اتصال، توسط کلاینت SSH که به سرور SSH متصل میشود، برقرار میشود. کلاینت SSH، فرآیند راه اندازی اتصال را هدایت میکند. این پروتکل، از رمزنگاری کلید عمومی (PKC) برای تأیید هویت سرور SSH استفاده میکند.
پس از مرحله راه اندازی، پروتکل SSH از الگوریتمهای رمزگذاری و یک هش متقارن قوی برای اطمینان از حفظ حریم خصوصی و یکپارچگی دادههایی که بین مشتری و سرور رد و بدل میشود، استفاده میکند. شکل زیر، یک جریان راه اندازی ساده شده از اتصال پوسته ایمن را نمایش میدهد:
احراز هویت قوی با کلیدهای SSH
چندین گزینه برای احراز هویت کاربر وجود دارد. رایج ترین آنها رمز عبور و احراز هویت کلید عمومی است. روش احراز هویت کلید عمومی در درجه اول برای اتوماسیون و گاهی اوقات توسط مدیران برای ورود به سیستم مورد استفاده قرار میگیرند.
ایده این است که یک جفت کلید رمزنگاری داشته باشیم. کلید عمومی و کلید خصوصی. کلید عمومی را روی یک سرور پیکربندی کنیم تا اجازه دسترسی داده شود و به هر کسی که یک نسخه از کلید خصوصی را دارد دسترسی به سرور بدهد. کلیدهایی که برای احراز هویت استفاده میشوند، کلیدهای SSH نام دارند.
علاوه بر ارائه رمزگذاری قوی، پروتکل SSH توسط ادمینهای شبکه برای مدیریت سیستمها و برنامهها از راه دور به طور گستردهای مورد استفاده قرار میگیرد. این پروتکل، به آنها امکان میدهد از طریق شبکه به رایانه دیگری وارد شده، دستورات را اجرا کنند. همچنین پروندهها را از یک رایانه به رایانه دیگر منتقل کنند.