SSH چیست و چگونه کار می کند؟

SSH چیست و چگونه کار می کند؟

امید صادقی ادمین
مدت زمان مطالعه: 20 دقیقه 29 فروردین 02

آیا می دانید پروتکل Ssh چیست؟ در زمان دسترسی به رایانه به واسطه ی شبکه، مدیران سیستم به یک اتصال امن نیاز خواهند داشت. این گونه آن ها می توانند از حملات سایبری مخرب چون شناسایی رمز عبور پنهان مانند. از آن سوی که شبکه های بزرگ دارای نقص امنیتی هستند، پروتکل های رمزگذاری همانند؛ PGP, S/MIME, IPsec, TLS/SSL, SSH برای کسبِ اطمینان از حفاظت لازم الزامی است. ما در این مطلب به شما خواهیم گفت Ssh چیست و چگونه کار می کند؟ لطفاً با ما تا پایان این نوشتار از صبا هاست همراه شوید.

Ssh چیست؟

Ssh یک پروتکل شبکه محبوب به شمار می رود که به ما امکان خواهد داد به واسطه ی یک شبکه ناامن چون اینترنت به یک کامپیوتر و یا سرور راه دور دسترسی پیدا کنیم.

Secure Shell و یا Secure Sockets Shell یک پروتکل شبکه می باشد. در واقع این پروتکل یک پروتکل لایه کاربردی به شمار می رود که در هفتمین مدل شبکه Open System Interconnection واقع شده است. نیز به مجموعه ابزارهایی هم اشاره دارد که پروتکل Ssh را پیاده سازی می نمایند. به همان شکل که می دانید در این دنیای اپلیکیشن ها و کلان داده ها و دیجیتال، نمی توانید بدون خرید سرور مجازی و وجود زیرساخت های محاسباتی پیشرفته و مدیریت سرور در صدر صنعت به حیات خود ادامه داد. به عبارتی نقش اصلی آن پشتیبانی از تمامی برنامه های کاربردی و با کاری حیاتی می باشد که تمامی سازمان ها برای اجرای تجارت خود از آن ها بهره می گیرند. سرور مجازی آلمان یک سیستم و یا برنامه ای رایانه ای است که به رایانه ها یا برنامه هایی دیگر با دادن یا کارکرد سرویس می دهد. سرورها دارای انواع مختلفی هستند. چون سرور اختصاصی انگلستان، سرور مجازی، ابری یا غیره! شما می توانید با سیستم عامل های لینوکس، یونیکس و ویندوز یا غیره از آن بهره گیرید.

Ssh جهت اتصال به اقسام گوناگون سرورها اعم از سرور HP یا سرور مجازی و سرور اختصاصی، کلوکیشن های مستقر در دیتاسنترها بهره گیری می شود.

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

نگاهی به تاریخچه Ssh

Ssh کوتاه شده عبارت Secure shell است. پروتکل Ssh تحت عنوان جایگزین ایمن برای پروتکل های راه دور ناامن برای سرورها طراحی گردیده است. SSH به واسطه ی Tatu Ylonen طی سال ۱۹۹۵ ایجاد گردید. این پروتکل به منظور پیشگیری از حملات شناسایی رمز عبور درون دانشگاه فناوری هلسینکی طراحی گردیده بود. نخستین نسخه از این پروتکل که هم اکنون Ssh-1 نام گذاری شده است، به منظور جایگزینی پروتکل های ناامن چون Telnet, rah, rlogin طراحی گردید و تحت عنوان یک نرم افزار رایگان شروع به کار نمود.‌ ولو به زودی زود به یک نرم افزار اختصاصی مبدل گردید. بعد از آن که ssh-1 Ylonen به یک ابزار محبوب و قدرتمند در سرتاسر جهان مبدل گردید، گروه مهندسی اینترنت IETF مجموعه را ایجاد نمود که هدف آن تشکیل یک جانشین برای این پروتکل بود. طی سال ۲۰۰۶ ssh-2 به یک استاندارد نوین مبدل گردید که حاوی پیشرفت های امنیتی چون تبادل کلید Diffie-Helman بود.

جامع منبع باز OSSH نسخه نوین پروتکل SSH بنابر نسخه SSH-1 1.2.12 را گسترش داد. حال آن که توسعه دهندگان OPENBSD چندی بعد OSSH را برای تشکیل OPENSSH دوست داشتنی ترین پیاده سازی Ssh در جهان کنونی را ایجاد نمودند. حال آن که این روزها پشتیبانی از Ssh-1 متوقف گردیده است.

 

Ssh چگونه کار خود را انجام می دهد؟

Ssh از یک الگوی کلاینت-سرور بهره گیری می کند که درون آن کلاینت ها و سرورها به واسطه ی یک کانال امن با یک دیگر ارتباط برقرار می نمایند. پروتکل Ssh حاوی سه لایه می باشد؛

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

Ssh یک پروتکل بنابر سرویس گیرنده-سرور می باشد. این بدان معنا است که این پروتکل به دستگاهی که تقاضای اطلاعات و یا خدمات می نماید اجازه خواهد داد که به دستگاهی دیگر وصل گردد. زمانی که یک کلاینت به واسطه ی Ssh به یک سرور وصل شود، دستگاه سرور را می توان چون یک کامپیوتر محلی کنترل نمود‌. سرور حاوی یک پورت TCP معین گردیده است که به واسطه ی آن شبکه را نظارت می نماید و در انتظار خواهد بود تا کلاینت ها اتصال را اولیه کند. پیش از آن که یک کلاینت وصل گردد و دستورات Ssh را صادر بنماید، بایستی روند احراز هویت را پشت سر گذارد.


 

تکنیک های رمزگذاری در Ssh چگونه است؟

Ssh از سه گونه رمزگذاری داده در روند ارتباط میان ماشین ها بهره گیری می نماید که عبارت می باشند از؛

  • رمزگذاری متقارن

رمزگذاری متقارن یک کلید واحد را تولید خواهد کرد که دو ماشین آن را با یکدیگر تبادل می نمایند. پس از آن، ماشین ها از کلید هم برای رمزگذاری و هم به منظور رمزگشایی بهره گیری می نمایند. این شیوه سریع بوده نیاز به منابع بسیاری هم ندارد و Ssh برای هر جلسه از آن بهره گیری می کند. به هر هنگام که کلاینت و سرور در ارتباط با این موضوع که کدام الگوریتم را برای یک جلسه Ssh بهره گیری کنند مذاکره می نمایند، همیشه ابتدایی ترین الگوریتم را در فهرست مشتری که سرور پشتیبانی می نماید، انتخاب می کنند.

  • رمزگذاری نامتقارن

هنگامی که ماشین ها از دو کلید متفاوت «ولی به لحاظ ریاضی مرتبط» عمومی و خصوصی به منظور انجام رمزگذاری بهره گیری می نمایند، داده ها به گونه ای نامتقارن رمزگذاری می گردند. ماشین کلاینت هم که در راه اندازی رمزگذاری شرکت نموده است، می تواند اطلاعات را با بهره گیری از کلید خصوصی رمزگشایی بنماید. علاوه بر این ها Ssh از کلیدهای نامتقارن برای مبادله کلیدهای متقارن بهره گیری می کند، چون روند احراز هویت کاربر.

  • هش نمودن

Ssh از هش به منظور تأیید اعتبار بهره گیری می کند. الگوریتم های درهم سازی که به منظور تولید هش در Ssh بهره گیری می شوند، کد احراز هویت پیام و نیز کد احراز هویت هش پیام می باشند‌. یک الگوریتم هش از یک بسته داده برای ایجاد یک رشته هش منحصر به فرد بهره گیری می نماید‌. دستگاه ارسال کننده بسته دائماً بسته را همراه با میزان هش ارسال می کند. ماشین دریافت کننده، الگوریتم مورد استفاده در راستای ایجاد هش را می شناسد. حال می تواند آن را برروی داده ها اعمال بنماید. هدف این خواهد بود که ببینیم آیا میزان هش محاسبه گردیده برابر خواهد بود و یا نه! چنانچه که هش به دست آمده با هش فرستنده متفاوت باشد، داده ها در زمان انتقال حذف خواهند شد.

 

 

به چه شکل Ssh با این قبیل تکنیک های رمزگذاری کار می نماید؟

  • Session Encryption Negotiation

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

الگوریتم DH ماشین ها را قادر خواهد ساخت تا با همدیگر کار نمایند و به گونه ای ایمن یک کلید رمزنگاری را برروی یک شبکه عمومی رقم بزنند. به منظور تولید یک کلید، ماشین ها فرآیند زیر را به انجام می رسانند؛

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

  • Authenticating the User

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

 

 

کاربرد Ssh

Ssh به گونه ای وسیع در مراکز داده برای عرضه مدیریت ایمن، دسترسی از راهی دور به منابع، وصله های نرم افزاری و به روز رسانی بهره گیری می شود. علاوه بر این ها پروتکل مدیریت محافظت گردیده روتر، نگهداری سخت افزار سرور و مدیریت پلتفرم مجازی سازی را ممکن می نماید‌. به دلیل سهولت در بهره گیری، استحکام و خصوصیات بسیار، Ssh را می توان روی سناریوهای گوناگونی اعمال نمود. این سناریوها دربرگیرنده موارد ذیل است؛

  • اتصال به میزبانی از راه دور

هدف پایه و اصلی Ssh هدایت اتصال به سرور با یک عدد پورت و با نشانی خاص است. این کار به ما اجازه خواهد داد تا یک میزبان راه دور به گونه ای مستقیم به برنامه های موجود در ماشین محلی قابلیت دسترسی داشته باشد. این موضوع هم به صورت برعکس هم قابل اعمال خواهد بود.

  • تهیه نسخه پشتیبان به همراه کپی و انعکاس فایل ها با بهره گیری از SFTP

کلید Ssh به منظور دسترسی خودکار به سرورها مورد استفاده قرار می گیرد، غالباً در اسکریپت ها، سیستم های پشتیبان گیری و ابزارهای مدیریت پیکربندی مورد بهره گیری واقع می شود. کلید Ssh به دلیل طراحی که امکان اتصال در سرتاسر مرزهای سازمانی را مهیا می سازد، قابلیت های یک مرتبه ورود را مهیا می سازد. پس به کاربران چنین اجازه ای را می دهد که هر مرتبه بدون تایپ رمز عبور، میان حساب های خود حرکت نمایند.

  • تونل سازی داده های حساب به واسطه ی یک کانالی ایمن!

Ssh یک تکنیکی می باشد که کاربر را قادر خواهد ساخت تا یک تونل ایمن میان میزبان محلی و سرور راه دور رقم بزند. این گونه امکان ارسال فایل ها نیز برای کاربر مهیا خواهد شد.

نتیجه گیری

دوستان عزیز ما در این مطلب از خود سعی نمودیم به شما بگوییم که Ssh چیست و چگونه کار می نماید! امیدواریم که اطلاعات ارائه شده از جانب ما در صبا هاست برای شما مفید و مؤثر بوده باشد. بهتر است بیان داریم که شما می توانید در راستای خرید هاست یا خرید سرور مجازی و اختصاصی با ما همراه باشید.

برچسب ها :
دسته بندی ها :