SSH KEY چیست؟ SSH Keys یک روش امن برای ورود به سرور vps (سرور مجازی) شما فراهم میآورد. این کلیدها از یک جفت کلید تشکیل شدهاند که شامل یک کلید خصوصی (که باید از آن محافظت کنید) و یک کلید عمومی است که میتوانید آن را کپی کرده و با کسانی که میخواهید ارتباط برقرار کنید به اشتراک بگذارید. استفاده از SSH Keys به شما این امکان را میدهد تا بدون نیاز به وارد کردن رمز عبور، به سرورهای خود بهصورت امن وارد شوید. در ادامه این مقاله آموزش استفاده از SSH KEY در سرور مجازی را برای شما آوردهایم تا بهراحتی بتوانید به سرور مجازی خود متصل شوید.
نحوه کار SSH Key چگونه است؟
زمانی که شما کلید عمومی SSH خود را در سرور مجازی خود ثبت میکنید، این کلید بهطورخودکار در حساب روت سرور نصب میشود و شما میتوانید با استفاده از کلید خصوصی خود و هر نرمافزار SSH مانند OpenSSH یا PuTTY به سرور متصل شوید. در حال حاضر SSH Keys فقط برای دسترسی به سرورهای مجازی با سیستمعاملهای مبتنی بر لینوکس و FreeBSD قابل استفاده هستند. قبل از شروع کار با کلیدهای SSH، بد نیست ابتدا بدانید ssh چیست و چگونه این پروتکل امنیتی به یکی از ارکان اصلی مدیریت سرورهای لینوکسی تبدیل شده است.
مراحل ایجاد SSH Key برای استفاده در سرور مجازی
وقتی از SSH Key در سرور مجازی استفاده میکنید، مهم است بدانید که بستر این دسترسی دقیقاً چیست. برای آشنایی بیشتر با این نوع سرویس، مطالعه مقاله vps چیست توصیه میشود.
VPS به شما این امکان را می دهد وب سایت خود را در یک محفظه ایمن با منابع تضمین شده (حافظه، فضای دیسک، هسته های CPU و غیره) راه اندازی کنید.
برای ایجاد یک جفت کلید SSH، بسته به سیستمعامل خود روشهای مختلفی وجود دارد:
برای سیستمهای لینوکس یا OSX
برای ایجاد یک جفت کلید SSH در این سیستمها، دستور زیر را اجرا کنید.
ssh-keygen -t rsa -b 2048
برای سیستمهای ویندوز
در سیستمعامل ویندوز، میتوانید از ابزار PuTTYGen برای ایجاد یک کلید SSH-2 RSA استفاده کنید.
ثبت SSH Key در سرور مجازی
کلید عمومی SSH را میتوانید با سیستمهایی که میخواهید به آنها دسترسی پیدا کنید به اشتراک بگذارید. این فرآیند به شما این امکان را میدهد بدون نیاز به رمز عبور، به سرورهای خود متصل شوید. درصورتیکه کلید SSH خود را در سرور مجازی ثبت کنید، قادر خواهید بود از هر نرمافزار SSH مانند OpenSSH یا PuTTY برای اتصال به سرور استفاده کنید.
با خرید سرور مجازی، پشت یک سیستم پرسرعت و قدرتمند بنشینید و فرمان بدهید!
بررسی مراحل ثبت SSH Key
برای ثبت SSH Key، مراحل زیر را دنبال کنید:
- وارد پورتال کاربری خود شوید و بخش VPS را انتخاب کنید.
- روی VPS مورد نظر کلیک کرده و سپس گزینه Manage VPS را انتخاب کنید تا وارد صفحه مدیریت شوید.
- در صفحه Overview، به تب Access بروید و روی گزینه Add SSH Key کلیک کنید.
- نام کلید SSH و کلید عمومی خود را وارد کرده و سپس روی Submit کلیک کنید.
- پس از ثبت کلید SSH، یک Fingerprint (شناسه کوتاه برای شناسایی کلید عمومی طولانی) به شما ارائه خواهد شد.
توجه داشته باشید کلیدهای عمومی SSH2 به صورت یک خط واحد با ساختار زیر هستند:
options key-type base64-encoded public_key comment
در این ساختار، فیلد options معمولاً بهصورت اختیاری در نظر گرفته میشود. در واقع فیلد options به شما این امکان را میدهد که محدودیتهایی را برای استفاده از این کلید عمومی اعمال کنید. بهعنوان مثال، برای افزایش امنیت و کاهش ریسک از دست رفتن کلید خصوصی، میتوانید گزینه from= را اضافه کنید تا فقط از آیپیهای خاصی بتوان به سرور متصل شد.
اگر به دنبال امنیت بیشتر در اتصال SSH هستید، ترکیب استفاده از کلید خصوصی با تغییر پورت میتواند موثر باشد. پیشنهاد میکنیم آموزش تغییر پورت ssh لینوکس را مطالعه کنید.
ارتباط SSH Key با سرور مجازی
اگر بخواهید از خارج از پورتال کاربری (با استفاده از نرمافزار SSH مانند OpenSSH یا PuTTY) به سرور مجازی خود دسترسی پیدا کنید، باید کلید SSH تولید شده را به VPS خود مرتبط کنید که در این آموزش استفاده از SSH KEY در سرور مجازی به شما میگوییم.
نکات قبل از ارتباط SSH Key با VPS
- اطمینان حاصل کنید که کلید SSH قبلاً در سرور مجازی ثبت شده است.
- سرور مجازی باید خاموش باشد.
- فقط یک کلید SSH میتواند به هر VPS اختصاص داده شود.
امنسازی اتصال با SSH Key زمانی مؤثرتر است که پیکربندی اصولی سرور نیز انجام شود. مقاله کانفیگ سرور مجازی لینوکس به شما کمک میکند تنظیمات پایهای و ضروری را به درستی اعمال کنید.
مراحل ارتباط SSH Key با VPS
- وارد پورتال کاربری خود شوید و بخش VPS را انتخاب کنید.
- روی VPS مورد نظر کلیک کرده و سپس گزینه Manage VPS را انتخاب کنید.
- در صفحه Overview، به تب Access بروید و روی گزینه Assign SSH Key to VPS در قسمت Action کلید SSH بارگذاری شده کلیک کنید.
- پس از روشن کردن دوباره VPS، کلید عمومی انتخابی در حساب روت سرور مجازی شما نصب خواهد شد.
مزایای استفاده از SSH Key به جای رمز عبور
استفاده از SSH Key بهجای رمز عبور، امنیت اتصال را بهطور چشمگیری افزایش میدهد، زیرا کلیدها نسبت به رمزهای عبور در برابر حملات Brute Force مقاومتر هستند.
مزیت | توضیح |
---|---|
امنیت بیشتر | کلیدهای SSH از رمزهای عبور پیچیدهتر و امنتر هستند و احتمال هک از طریق Brute Force را کاهش میدهند. |
دسترسی راحتتر | دیگر نیازی به وارد کردن یا به خاطر سپردن رمز عبور نیست؛ فقط با داشتن کلید خصوصی میتوانید وارد شوید. |
عدم ارسال رمز از طریق شبکه | در اتصال با SSH Key، هیچ رمز عبوری از طریق شبکه منتقل نمیشود و این باعث افزایش امنیت ارتباط میشود. |
کلیدهای SSH بیشتر در سرورهای لینوکسی کاربرد دارند و برای اجرای دستورات و مدیریت سرور، بهترین گزینه هستند. اگر به دنبال سرویسی مطمئن هستید، حتماً به صفحه خرید سرور مجازی لینوکس سر بزنید.
نحوه محافظت از کلید خصوصی (Private Key) در سرور مجازی
- استفاده از پسورد برای کلید خصوصی: پیشنهاد میشود که برای کلید خصوصی خود یک رمز عبور اضافی تنظیم کنید تا در صورت دزدیده شدن، امکان استفاده از آن توسط شخص دیگر وجود نداشته باشد.
- ذخیرهسازی امن: کلید خصوصی را باید در محلی امن مانند یک سیستم رمزنگاریشده یا استفاده از ابزارهای مدیریت کلید مانند ssh-agent نگهداری کنید.
- عدم اشتراکگذاری کلید خصوصی: کلید خصوصی را هیچگاه با دیگران به اشتراک نگذارید و فقط کلید عمومی را برای دسترسی به سرور ارسال کنید.
در حالی که اتصال به سرورهای لینوکسی بیشتر با SSH Key انجام میشود، برای سرورهای ویندوزی معمولاً از روش دیگری استفاده میشود. اگر میخواهید بدانید اتصال به سرور مجازی ویندوز با ریموت دسکتاپ چگونه انجام میشود، این مقاله را از دست ندهید.
مدیریت و تغییر کلیدهای SSH چگونه است؟
در آموزش استفاده از SSH KEY در سرور مجازی باید در مورد مدیریت و تغییر ssh keyها بدانید که کامندهای متفاوتی وجود دارد؛ در ادامه آنها را توضیح خواهیم داد.
1. چگونگی حذف یک کلید SSH
حذف کلید SSH برای جلوگیری از دسترسیهای غیرمجاز امری حیاتی است. برای این کار ابتدا وارد سرور موردنظر شوید.
ssh username@remote_server
سپس به دایرکتوری ssh. در سرور بروید:
cd ~/.ssh
فایل authorized_keys را با ویرایشگر موردنظر باز کنید:
nano authorized_keys
کلیدی که باید حذف شود را شناسایی کرده و خط مربوط به آن را پاک کنید. سپس فایل را ذخیره کنید و خارج شوید. همچنین میتوانید از دستور زیر برای حذف مستقیم کلید خاص استفاده کنید:
sed -i '/KEY_CONTENT_HERE/d' ~/.ssh/authorized_keys
توجه: جایگزین کردن KEY_CONTENT_HERE با محتوای دقیق کلید موردنظر ضروری است.
2. تعویض کلید SSH در سرور
در صورت نیاز به تغییر کلید SSH (برای مثال، به دلیل گم شدن کلید یا خطر لو رفتن آن)، یک جفت کلید جدید ایجاد کنید:
ssh-keygen -t rsa -b 2048
کلید عمومی جدید را به سرور اضافه کنید. برای این کار میتوانید از دستور ssh-copy-id استفاده کنید:
ssh-copy-id username@remote_server
مطمئن شوید کلید قدیمی را از فایل authorized_keys حذف کرده باشید. برای اطمینان، بررسی کنید که فقط کلید جدید در فایل ثبت شده باشد.
3. مدیریت چندین کلید SSH برای استفاده در سرور vps
اگر نیاز دارید چندین کلید SSH برای دسترسی به سرور داشته باشید:
- تمام کلیدهای عمومی را به فایل authorized_keys اضافه کنید. هر کلید باید در یک خط جداگانه قرار گیرد.
- برای شناسایی بهتر، از قسمت توضیحات هر کلید برای نامگذاری استفاده کنید (مانند ssh-rsa [KEY_CONTENT] user@machine).
- برای دسترسیهای خاص یا محدود کردن دسترسیها، میتوانید از گزینه from= در فایل authorized_keys استفاده کنید. این گزینه دسترسی هر کلید را به یک آدرس IP یا هاست خاص محدود میکند:
from="192.168.1.100" ssh-rsa [KEY_CONTENT] user@machine
بهمنظور سادهتر شدن مدیریت کلیدها، میتوانید هر کلید را با نام مرتبط ذخیره کنید و با استفاده از تنظیمات SSH در فایل ~/.ssh/config بهطور مستقیم به هر سرور متصل شوید:
Host server1 HostName server1.example.com User username IdentityFile ~/.ssh/id_rsa_server1
این فرآیندها به شما کمک میکنند تا بهطورمؤثر و ایمن کلیدهای SSH را مدیریت کرده و دسترسیها را بهینهسازی کنید.
SSH Key مسیر دسترسی امن به سرور را فراهم میکند، اما برای کاربرانی که از میکروتیک در کنار VPS استفاده میکنند، تنظیمات درست شبکه هم اهمیت زیادی دارد. برای یادگیری کامل این فرآیند، نگاهی به مقاله کانفیگ میکروتیک برای VPS بیندازید.
استفاده از ssh key برای اتصال به سرور مجازی از امنترین روشهاست!
استفاده از SSH Keys یکی از امنترین و موثرترین روشها برای مدیریت دسترسی به سرورهای مجازی است. با پیادهسازی این تکنیک، شما میتوانید از سطح بالاتری از امنیت، راحتی در دسترسی، و کنترل دقیق بر دسترسی کاربران بهرهمند شوید. در این مقاله به آموزش استفاده از SSH KEY در سرور مجازی پرداختیم. مراحل ایجاد، ثبت، مدیریت، و حذف کلیدهای SSH، اگرچه به نظر پیچیده میآیند، اما با درک صحیح و استفاده از ابزارهای مناسب، بهراحتی قابل انجام هستند. به یاد داشته باشید:
- امنیت کلید خصوصی اولویت اصلی است. کلید خصوصی را بهدقت محافظت کنید و از اشتراکگذاری آن خودداری کنید.
- در صورت از دست رفتن کلید یا بروز خطر امنیتی، بلافاصله اقدام به تعویض کلید و اعمال تنظیمات محدودکننده کنید.
- برای سرورهایی که نیاز به دسترسی چندین کاربر دارند، مدیریت درست کلیدها در فایل authorized_keys ضروری است.
با پیادهسازی این روشها، شما میتوانید امنیت سرورهای مجازی خود را تضمین کرده و دسترسی غیرمجاز را به حداقل برسانید. دنیای امنیت دیجیتال به سمت حذف رمزهای عبور حرکت میکند، و SSH Keys میتواند پایهای برای این تحول باشد. امنیت خود را با دانش و ابزارهای بهروز تقویت کنید. درصورتیکه تجربهای درباره استفاده از SSH KEY برای سرور مجازی دارید با ما و سایر کاربران در بخش نظرات انتهای مقاله میتوانید بهاشتراک بگذارید.
سوالات متداولی که شما می پرسید؟
1. چگونه میتوان از امنیت کلید خصوصی SSH اطمینان حاصل کرد؟
برای امنیت کلید خصوصی، از رمزگذاری کلید با یک رمز عبور قوی، ذخیرهسازی آن در محیط امن (مانند دیسک رمزنگاریشده)، و عدم اشتراکگذاری آن با دیگران استفاده کنید. همچنین میتوانید از ابزارهایی مثل ssh-agent برای مدیریت امن کلیدها بهره ببرید.
2. آیا میتوان چندین کلید SSH را روی یک سرور ثبت کرد؟
بله؛ میتوانید چندین کلید SSH را در فایل authorized_keys ثبت کنید. هر کلید باید در یک خط جداگانه اضافه شود. این روش برای دسترسی کاربران مختلف یا استفاده از کلیدهای مختلف برای سرورها مفید است.
3. در صورت گم شدن کلید خصوصی SSH، چه کاری باید انجام داد؟
اگر کلید خصوصی شما گم شد یا به خطر افتاد، باید بلافاصله کلید عمومی مرتبط را از فایل authorized_keys سرور حذف کرده و جفت کلید جدیدی ایجاد کنید. کلید عمومی جدید را در سرور ثبت کنید تا دسترسی ایمن مجدداً برقرار شود.
4. چگونه میتوان دسترسی یک کلید SSH را به یک IP خاص محدود کرد؟
میتوانید از گزینه from= در فایل authorized_keys استفاده کنید. این گزینه مشخص میکند که فقط از IP یا هاست خاصی میتوان از کلید عمومی استفاده کرد. برای مثال:
from="192.168.1.100" ssh-rsa AAAAB3... user@machine
5. آیا استفاده از SSH Key به جای رمز عبور کاملاً امن است؟
بله؛ استفاده از SSH Key امنیت بیشتری نسبت به رمز عبور فراهم میکند، زیرا این کلیدها مقاومتر در برابر حملات بروت فورس (Brute Force) هستند و اطلاعات حساس مانند رمز عبور از طریق شبکه منتقل نمیشود. با این حال، امنیت کامل به مدیریت صحیح کلید خصوصی و بهروزرسانی منظم تنظیمات سرور بستگی دارد.
منابع: