ورود با جفت کلید SSH

خوش اومدید به مقاله آموزشی ورود با جفت کلید SSH از مجموعه آموزشی ابرآس
راهنمای مقاله
Toggleآشنایی با کلید های SSH
کلید SSH یک اعتبار دسترسی ایمن است که در پروتکل Secure Shell (SSH) استفاده می شود. جفت کلید های SSH از فناوری زیرساخت کلید عمومی (PKI)، استاندارد طلایی برای احراز هویت و رمزگذاری هویت دیجیتال استفاده میکنند تا روشی امن و مقیاسپذیر برای احراز هویت ارائه کنند.
از آنجایی که پروتکل SSH به طور گسترده برای ارتباطات در سرویس های ابری، محیط های شبکه، ابزارهای انتقال فایل، ابزارهای مدیریت پیکربندی و سایر سرویس های وابسته به کامپیوتر استفاده می شود، اکثر سازمان ها از این نوع احراز هویت مبتنی بر کلید برای تأیید هویت و محافظت از سرویس ها در برابر ورود غیرمجاز و حملات غیر مترقبه استفاده می کنند.
کلیدهای عمومی و خصوصی
یک کلید SSH برای اینکه قایل استفاده باشد از دو کلید مرتبط اما نامتقارن کمک می گیرد، یک کلید عمومی و یک کلید خصوصی که با هم یک جفت کلید را ایجاد می کنند. با کمک جفت کلید می توان روشی به عنوان دسترسی ایمن استفاده کرد.
بخش حصوصی کلید باید رمزگذاری شده و به طور ایمن ذخیره شود و همچنین فقط برای کاربری که کلید را ایجاد کرده شناخته شده است. بخش عمومی کلید را می توان آزادانه با هر سرور SSH که کاربر مایل به اتصال به آن است به اشتراک گذاشت. این کلیدها معمولاً توسط تیم فناوری اطلاعات سازمان مدیریت میشوند، یا بهتر است بگوییم، با کمک یک مرجع گواهی معتبر (CA) برای اطمینان از ذخیره ایمن جفت کلید.
برای ایجاد هویت دیجیتال، کلید عمومی و خصوصی هر دو تولید میشوند و این جفت با استفاده از یک الگوریتم رمزنگاری کلید عمومی قوی با یکدیگر مرتبط میشوند. رایج ترین الگوریتم های ریاضی مورد استفاده برای تولید کلید عبارتند از RSA و الگوریتم دیجیتال ECDSA.
این الگوریتمها از روشهای محاسباتی مختلفی برای تولید ترکیبهای عددی تصادفی با طولهای مختلف استفاده میکنند تا نتوان از آنها با یک حمله brute force بهرهبرداری کرد. اندازه کلید یا طول بیت به تعیین قدرت محافظت کمک می کند. کلیدهای 2048 بیتی RSA یا کلیدهای 521 بیتی ECDSA دارای قدرت رمزنگاری کافی برای جلوگیری از شکستن الگوریتم توسط هکرها هستند.
ابزار vagrant نیز با همین روس به ماشین های مجازی ایجاد شده متصل میشود.
نحوه کارکرد جفت کلید SSH
جفت کلید SSH برای احراز هویت کاربر یا فرآیندی استفاده می شود که می خواهد با استفاده از پروتکل SSH به یک سیستم راه دور دسترسی پیدا کند.
کلید عمومی هم توسط کاربر و هم سرور راه دور برای رمزگذاری پیام ها استفاده می شود. در سمت سرور، در یک فایل کلید عمومی ذخیره می شود. در سمت کاربر، در نرم افزار مدیریت کلید SSH یا در یک فایل در رایانه آنها ذخیره می شود. کلید خصوصی فقط روی سیستمی که برای دسترسی به سرور راه دور استفاده می شود باقی می ماند و همچنین برای رمزگشایی پیام ها استفاده می شود.
هنگامی که یک کاربر یا فرآیند درخواست اتصال به سرور راه دور را با استفاده از سرویس گیرنده SSH می کند، یک دنباله که فارسیش میشه چالش-پاسخ برای تکمیل احراز هویت آغاز می شود. سرور SSH تشخیص می دهد که یک اتصال در حال درخواست است و یک درخواست چالش رمزگذاری شده را با استفاده از اطلاعات کلید عمومی مشترک ارسال می کند. سپس مشتری SSH پیام چالش را رمزگشایی می کند و به سرور پاسخ می دهد. کاربر یا فرآیند باید به چالشی که به آن اجازه دسترسی داده شود پاسخ صحیح دهد. این دنباله چالش-پاسخ به طور خودکار بین سرویس گیرنده SSH و سرور بدون هیچ گونه اقدام دستی توسط کاربر اتفاق می افتد!
ورود با جفت کلید SSH
برای ورود با جفت کلید SSH نیازه که اول کلید های خودمونو ایجاد کرده باشیم, اگر سیستم عامل های یونیکس بیس استفاده می کنید میتونید با کمک دستور زیر جفت کلید خودتونو ایجاد کنید.
ssh-keygen
بعد از اینکه جفت کلید خودمو رو ایجاد کردیم نیازه که قسمت عمومی کلید رو داخل سرور آپلود کنیم, برای اینکار میتونیم از دستور زیر کمک بگیریم.
ssh-copy-id <user-name>@server-address
تفاوت احراز هویت با پسوورد و جفت کلید
در نگاهی سطح بالا، کلیدهای SSH با کنترل دسترسی مانند رمزهای عبور عمل می کنند. اما این همان جایی است که شباهت به پایان می رسد. هویتهای دیجیتال باید قوی باشند تا نتوان آنها را به سرقت برد، راحت باشد تا دسترسی سریع را فراهم کنند و هرگز قطع نشود، و آیندهنگر باشد تا شرکتها بتوانند از تهدیدات احتمالی جلوتر باشند.
گذرواژهها برای اندازهگیری امنیت استفاده میشدند، اما به اندازه گذشته مؤثر نیستند. این به این دلیل است که بازیگران بد به طور فزاینده ای در سرقت رمزهای عبور از طریق اینترنت، برداشتن آنها از ریپازیتوری و به دست آوردن آنها از طریق حملات brute force مهارت پیدا کرده اند.
احراز هویت کلید SSH نیز راحت تر از احراز هویت رمز عبور است. کلیدها با شروع احراز هویت و اعطای دسترسی خودکار، کاربران و فرآیندها را به سرور متصل می کنند، بنابراین کاربران مجبور نیستند رمز عبور خود را برای هر سیستمی به خاطر بسپارند یا وارد کنند.
پیدا کردن جفت کلید SSH
قبل از اینکه بتوانید از کلیدهای SSH استفاده کنید، باید بررسی کنید که حساب کاربری شما آنها را دارد و در غیر این صورت، باید آنها را ایجاد کنید. چندین راه برای انجام این کار وجود دارد، مانند استفاده از Yubikeys یا سایر راه حل های امنیتی سخت افزاری، که اغلب امن ترین راه هستند. با این حال، برای راه اندازی اولیه تر، می توانید از دایرکتوری ssh. استفاده کنید.
اگر استفاده از دایرکتوری ssh. را انتخاب کردید، می توانید جفت کلید SSH خود را با دنبال کردن این مراحل پیدا کنید:
- به دایرکتوری شخصی خود بروید و به دنبال دایرکتوری SSH بگردید. برای Linux و MacOS، مکان پیشفرض دایرکتوری ssh./~ است. در ویندوز، پیش فرض C:\Users\<username>\.ssh است.
- به دنبال دو فایل با نام های مشابه id_dsa یا id_rsa باشید. یکی پسوند pub. خواهد داشت و دیگری نخواهد داشت (به عنوان مثال، id_rsa.pub و id_rsa). فایل pub. کلید عمومی و دیگری کلید خصوصی است. ممکن است کلید عمومی همیشه وجود نداشته باشد زیرا برای کارکردن به کلاینت نیازی نیست.
صحبت پایانی:
ممنونم که تا اینجا مقاله ورود با جفت کلید SSH همراهمون بودی و به رشد خودت کمک کردی.
میدونستی با اشتراک گذاری این مقاله میتونی از ما حمایت کنی!