پروتکل SSH چیست ؟
پروتکل SSH که مخفف عبارت Secure Shell است را می توان به عنوان یکی از امن ترین راه ارتباطی میان سرور (Server) و کاربر (Client) دانست. عملکرد این پروتکل امن از طریق برقراری ارتباط با کامپیوتر های لینوکسی و با استفاده از فرمان های متنی است. در واقع می توان گفت پروتکل SSH یک نسخه امن از Telnet است که آن هم یکی از راه های کنترل یک کامپیوتر از راه دور محسوب می گردد. پروتکل SSH و Telnet هر دو به عنوان پروتکل های شبکه برای مدیریت سرور از راه دور استفاده می شوند. از Telnet معمولا در شبکه های خصوصی استفاده می شود که در آن ها موضوع امنیت و رمزگذاری ها چندان مطرح نمی باشد و داده ها به صورت متن ساده در آن تبادل می شود و حتی تعیین هویت نیز در آن صورت نمی گیرد اما از پروتکل SSH در شبکه های گسترده تر و عمومی تر استفاده می شود و حفظ امنیت اطلاعاتی که در این شبکه در حال تبادل است امری ضروری تلقی می گردد. عدم حفظ امنیت در شبکه های عمومی ممکن است موجب از دست رفتن اطلاعات هویتی و فایل های افراد گردد.
علت به وجود آمدن پروتکل SSH را می توان ضعف های امنیتی Telnet دانست. تاریخچه ایجاد پروتکل SSH به سال 1995 بر می گردد و این پروتکل توسط شخصی به نام Tatu Ylonen در جهت رفع مشکل امنیتی Telnet طراحی گردید. پروتکل SSH یا همان پوسته امن در واقع یک لایه امن و رمز گذاری شده برای Telnet است.
عملکرد پروتکل SSH
پروتکل SSH تحت استاندارد IEFT یا Internet Engineering Task Force و روی پورت شماره 22 فعالیت خود را آغاز نمود و دارای نسخه های SSH1 و SSH2 بوده که بر روی بیشتر سیستم عامل ها در دسترس قرار دارد. عملکرد پروتکل SSH بر مبنای 3 ابزار SLOGIN یا Secure Login،SSH یا Secure Shell و SCP یا Secure Copy عمل کرده و ساختار آن به گونه ای است که باید هم بر روی سیستم سرور و هم کاربر یا Client نصب گردد. ابزار Secure Login برای ورود ایمن به سیستم هایی است که مبتنی بر یونیکس هستند و ابزار Secure Shell همان طور که اشاره شد پوسته امنی است که در بستر آن تبادل دستورات صورت می پذیرد و. در نهایت ابزار Secure Copy است که عملیات کپی کردن اطلاعات به صورت امن از طریق آن صورت می پذیرد.
پروتکل SSH چنان که پیش تر به آن اشاره گردید امنیت را از طریق رمزگذاری فراهم می کند و برای این کار از الگوریتم RSA Public Key استفاده می نماید. الگوریتم RSA Public Key اطلاعاتی که میان کامپیوتر مبدا و مقصد انتقال می یابد را رمزگذاری می نماید و تنها در صورتی که کلید تبادلی معتبر وجود داشته باشند امکان خواندن این مرز ها میسر می گردد و با توجه به اینکه این کلید های تبادلی تنها در اختیار سیستم مبدا و مقصد هستند امنیت تبادل اطلاعات به صورت کامل تامین می گردد.
نسخه های SSH1 و SSH2 چه تفاوتی با هم دارند؟
تفاوت دو نسخه در بخش تائید کاربر یا User Authentication است. در نسخه شماره 1 روش های مختلفی برای تائید کاربر وجود دارد اما از اتصال هم زمان آن ها با هم پشتیبانی نمی کند. برخی از متد ها مانند RhostsRSA، Kerberos و TIS در نسخه شماره 2 وجود ندارد؛ اما به جای آن ها متد قدرتمند PublicKey وجود دارد که به طور کامل نیاز کاربران را رفع می کند. ویژگی نسخه شماره 2، پشتیبانی از اتصال همزمان است. یکی از مشکلاتی که نسخه شماره 1 نسبت به نسخه شماره 2 دارد موضوع امنیت است. وجود برخی از اتصالات در نسخه شماره 1 باعث به وجود آمدن ریسک حملات ورودی Insertion Attack می شود.
ویژگی های پروتکل SSH
پروتکل SSH به سبب ویژگی های خاصی که دارد در میان کاربران اعتبار بالایی دارد. قابلیت هایی که این پروتکل در اختیار استفاده کنندگان قرار می دهد را می توان به این صورت تشریح نمود که پروتکل SSH امکان تأیید کاربران فراهم کرده و با ایجاد تونلی امن در بستر TCP/IP فعالیت می کند. از دیگر ویژگی های پروتکل SSH می توان به انتقال فایل های امن و حفاظت شده و همچنین انتقال خودکار اتصالات برقرار شده اشاره نمود. علاوه بر موارد فوق امکان تائید کاربران خارجی نیز توسط پروتکل SSH فراهم گردیده است.
در هنگام کار با پروتکل SSH ممکن است به برخی اصطلاحاتی برخورد نمایید که دانستن معنا و مفهوم آن ها می تواند کار شما تسهیل نماید:
SSH که با حروف نمایش داده می شود به معنای پروتکل SSH می باشد اما اگر همین اصطلاح را با حروف کوچک و به صورت ssh مشاهده نمودید به معنای نرم افزار سمت کاربر یا Client است. اصطلاحات SSH1 و SSH2 به ترتیب به نسخه اولیه پروتکل SSH و نسخه تجاری و غیر رایگان آن اشاره دارد. دامین سرویس SSH بر روی لینوکس به صورت SSHD نشان داده می شود و اگر با عبارت OPEN SSH رو به رو شدید بدانید که منظور نسخه متن باز یا Open Source این پروتکل می باشد.
اتصال به SSH در یک سرور چگونه انجام می پذیرد؟
یکی از محدودیت هایی که استفاده از پروتکل SSH با آن رو به رو است، عدم امکان اتصال مستقیم در سیستم عامل ویندوز است. راه حل این مشکل در سیستم عامل ویندوز استفاده از برنامه ای واسط به نام PuTTY است. PuTTY یک نرم افزار متن باز بوده که به رایگان در اختیار کاربران پروتکل SSH قرار گرفته است. نحوه استفاده از PuTTY به این شکل است که ابتدا آن را دانلود کرده و نصب می کنید و سپس IP و پورت SSH را وارد نموده و به سادگی به پروتکل SSH در سرور متصل می شوید. این محدودیت در زمان اتصال به سیستم عامل های لینوکس و مک وجود ندارد. برای این اتصال کافیست Terminal را باز نموده و دستور زیر را وارد نمایید:
ssh root@serverip –p port |
کلمه root در دستور بالا می تواند نام کاربری شما، serverip آدرس سرور و port شماره پورت SSH است.