اس اس اچ چیست و چه تفاوتی با اف تی پی دارد؟
CSS JS HTML
FTP و SSH هر دو پروتکل هایی تحت شبکه هستند که درست مانند HTTP بالای لایه TCP/IP اجرا می گردند. به زبان ساده این یک راه شناخته شده برای ابزارها است، تا درون شبکه با یکدیگر تماس برقرار کنند.
شیوه های مختلف برقراری تماس، ویژگی ها و شرایط استفاده متفاوت و ویژه ای دارند. کاربردهای مختلف و توانایی های گوناگونی در هر کدام گنجانده شده است. اما اینکه FTP و SSH دقیقا چه تفاوت ها و کارکردهایی دارند، برای بسیاری هنوز مبهم و گنگ است. در این مقاله قصد داریم به شرح و توضیح تکنولوژی های به کار رفته در این دو پروتکل و تفاوت های میان آنها بپردازیم.
برنامه واسط (Shell) و اکانت های برنامه واسط
بگذارید ابتدا به اصطلاحات فنی پایه و زیرساخت ها بپردازیم. برای فهمیدن هدف SSH، نیاز دارید با برخی عناصر اصولی و زیرساخت آن آشنا شوید.
Shell کامپیوتر، یک قطعه نرم افزاری است که به کاربر اجازه می دهد مستقیما با کرنل یا هسته اصلی سیستم عامل ارتباط برقرار کند. Shell می تواند دارای رابط گرافیکی یا محیط خط فرمان باشد و یا اینکه هر دو را با هم داشته باشد.
اکانت Shell یک اکانت شخصی است که به کاربر اجازه دسترسی به Shell را از طریق کامپیوترهای مختلف و راه دور می دهد. از این اکانت ها معمولا می توان برای کار با فایل های ذخیره شده، اکانت های ایمیل، گروه های خبری و مانند آن استفاده کرد. نقطه مشترک همه کاربردهای Shell هم در این است که معمولا برای استفاده از اکانت Shell دستورات را از راه دور و توسط خط فرمان ارسال می کنیم.
پروتکل برنامه واسط امن (Secure Shell Protocol - SSH)
همانطور که مرورگرهای وب از پروتکل HTTP برای صحبت و ارتباط با سایت ها استفاده می کنند، اکانت شل هم نیاز دارد تا از یک پروتکل مشخص برای ممکن ساختن انتقال اطلاعات (یا همان ارتباطات) میان دو ابزار درون شبکه استفاده کند. افتخار دارم SSH یا پروتکل برنامه واسط امن (Secure Shell Protocol) را خدمت تان معرفی کنم.
SSH از یک کلید رمزنگاری عمومی استفاده می کند و هدف اولیه توسعه آن، خلق جایگزینی به جای ارتباطات ناامن و حفاظت نشده ای همچون Telnet بود. این پروتکل دارای دو نسخه اصلی SSH-1 و SSH-2 است که هم اکنون پروتکل های عمده و حاکم بر دنیای دسترسی اکانت های شل هستند.
امروزه از SSH برای لاگین و اجرای کدها از طریق کامپیوترهای راه دور، جستجوی وب با استفاده از کلاینت های پروکسی رمزنگاری شده و انتقال فایل استفاده می شود. همچنین برای تنظیم و آماده سازی شبکه خصوصی مجازی یا همان VPN هم می توان از SSH بهره برد.
کلاینت های SSH یا برنامه های دسکتاپ اس اس اچ برای همه سیستم عامل های اصلی در دسترس هستند. سیستم های بر پایه یونیکس، مانند لینوکس و مک او اس ایکس، می توانند از OpenSSH استفاده کنند. همچنین در سایت OpenSSH می توانید برنامه های SSH مناسبی برای مک و ویندوز پیدا کنید. PuTTY هم یکی از برجسته ترین کلاینت های ویژه تحت ویندوز است.
پروتکل انتقال فایل امن یا STTP در برابر FTP
انتقال فایل واجرای VPN به صورت پیش فرض بر روی SSH فعال نیستند. به یاد داشته باشید که SFTP پروتکل اف تی پی قابل اجرا بر روی SSH نیست. بلکه یک پروتکل متفاوت انتقال فایل (file transfer protocol) است که به عنوان یک اکستنشن یا افزونه برای SSH-2 توسعه یافته است. SFTP همیشه برای انتقال فایل روی اس اس اچ استفاده می شود، اما در حقیقت به گونه ای طراحی شده که می تواند توسط دیگر پروتکل ها هم مورد استفاده قرار گیرد.
البته جدای از صحبت های فنی، SFTP برای کاربر نهایی می تواند یک جایگزین امن و مطمئن برای FTP باشد. اف تی پی تمامی اطلاعات را به صورت متن ساده و بدون رمزنگاری انتقال می دهد. بنابرین سرقت بسته های اطلاعاتی می تواند باعث بروز مشکلات وخیمی برای اطلاعات شخصی شما از قبیل نام کاربری و رمزهای عبورتان گردد. SFTP که تبدیل به یک افزونه برای SSH-2 شده، از شیوه امنیتی کلید رمز عمومی برای انتقال اطلاعات استفاده می کند. این بدان معنی است که اطلاعات به صورت رمزنگاری شده ارسال می گردند و خطر بالقوه نفوذ بین مسیر به اطلاعات تقریبا منتفی می گردد.
SFTP معمولا در بسیاری از برنامه های مشهور FTP قابل استفاده است. البته در این حالت، دیگر قابلیت های SSH در این حالت غیر فعال خواهند بود.