رفتن به محتوای اصلی
دیدگاه کلود | ارائه‌کننده سرورهای ابری و اختصاصی
آموزش راه‌اندازی SSH Key در CentOS 8

آموزش راه‌اندازی SSH Key در CentOS 8

راه‌اندازی SSH Key در سرور CentOS امکان ورود امن و بدون رمز عبور را فراهم می‌کند. با ایجاد جفت کلید RSA روی کلاینت، انتقال کلید عمومی به سرور و غیرفعال‌سازی ورود با رمز عبور، امنیت سرور به‌طور چشمگیری افزایش می‌یابد. این روش از حملات Brute Force جلوگیری کرده و مدیریت دسترسی را ساده‌تر می‌کند.

ویژه انتشار در وب‌سایت دیدگاه

مقدمه

SSH یا Secure Shell یک پروتکل رمزنگاری‌شده برای مدیریت و ارتباط امن با سرورهاست. اگر با سرور CentOS کار می‌کنید، بخش زیادی از زمان شما در ترمینال و از طریق اتصال SSH می‌گذرد.

در این راهنما از دیدگاه، روش راه‌اندازی احراز هویت مبتنی بر SSH Key روی سرور CentOS را بررسی می‌کنیم. استفاده از کلیدهای SSH یکی از امن‌ترین و ساده‌ترین روش‌ها برای ورود به سرور است و به تمام کاربران توصیه می‌شود.


مراحل راه‌اندازی SSH Key در CentOS

  1. ایجاد جفت کلید RSA

  2. انتقال کلید عمومی به سرور

  3. ورود به سرور با SSH Key

  4. غیرفعال‌سازی ورود با رمز عبور


مرحله اول: ایجاد جفت کلید RSA

ابتدا روی سیستم کلاینت (معمولا کامپیوتر شخصی) دستور زیر را اجرا کنید:

 
ssh-keygen

به صورت پیش‌فرض یک کلید RSA با طول 2048 بیت ساخته می‌شود که برای اکثر کاربردها کاملا امن است. در صورت نیاز می‌توانید با پارامتر -b 4096 کلید قوی‌تری ایجاد کنید.

پس از اجرای دستور، از شما مسیر ذخیره کلید پرسیده می‌شود. با زدن Enter، کلیدها در مسیر پیش‌فرض ذخیره خواهند شد:

 
~/.ssh/id_rsa ~/.ssh/id_rsa.pub

اگر قبلا کلیدی وجود داشته باشد، پیغام بازنویسی نمایش داده می‌شود. توجه داشته باشید که با بازنویسی، کلید قبلی دیگر قابل استفاده نخواهد بود.

در ادامه می‌توانید برای کلید خود Passphrase تعیین کنید. این کار امنیت را افزایش می‌دهد و به‌شدت توصیه می‌شود.

در پایان، یک کلید خصوصی و یک کلید عمومی در اختیار دارید که آماده استفاده هستند.


مرحله دوم: انتقال کلید عمومی به سرور CentOS

روش اول: استفاده از ssh-copy-id (پیشنهادی)

در صورتی که دسترسی SSH با رمز عبور دارید، ساده‌ترین روش استفاده از دستور زیر است:

 
ssh-copy-id username@server_ip

پس از تایید اتصال و وارد کردن رمز عبور کاربر، کلید عمومی شما به فایل authorized_keys روی سرور اضافه می‌شود.


روش دوم: انتقال کلید با SSH

اگر ssh-copy-id در دسترس نبود، می‌توانید از دستور زیر استفاده کنید:

 
cat ~/.ssh/id_rsa.pub | ssh username@server_ip "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

پس از وارد کردن رمز عبور، کلید شما به‌درستی روی سرور ثبت خواهد شد.


روش سوم: انتقال دستی کلید عمومی

در این روش ابتدا محتوای کلید عمومی را نمایش دهید:

 
cat ~/.ssh/id_rsa.pub

سپس وارد سرور شوید و دایرکتوری SSH را ایجاد کنید:

 
mkdir -p ~/.ssh

کلید عمومی را به فایل authorized_keys اضافه کنید:

 
echo "public_key_string" >> ~/.ssh/authorized_keys

و در نهایت سطح دسترسی‌ها را اصلاح کنید:

 
chmod -R go= ~/.ssh chown -R username:username ~/.ssh

مرحله سوم: ورود به سرور با SSH Key

اکنون می‌توانید بدون وارد کردن رمز عبور به سرور متصل شوید:

 
ssh username@server_ip

در صورت تعیین Passphrase، تنها همان عبارت از شما پرسیده می‌شود. اگر همه‌چیز درست انجام شده باشد، اتصال بدون مشکل برقرار خواهد شد.


مرحله چهارم: غیرفعال‌سازی ورود با رمز عبور (افزایش امنیت)

بعد از اطمینان از کارکرد صحیح SSH Key، برای افزایش امنیت سرور پیشنهاد می‌شود ورود با رمز عبور را غیرفعال کنید.

فایل تنظیمات SSH را باز کنید:

 
sudo vi /etc/ssh/sshd_config

گزینه زیر را پیدا کرده و مقدار آن را تغییر دهید:

 
PasswordAuthentication no

سپس سرویس SSH را ری‌استارت کنید:

 
sudo systemctl restart sshd

در یک ترمینال جدید اتصال را تست کنید تا مطمئن شوید دسترسی شما قطع نشده است.


جمع‌بندی

با انجام مراحل بالا، احراز هویت مبتنی بر SSH Key روی سرور CentOS شما فعال شده و ورود با رمز عبور غیرفعال می‌شود. این کار به‌طور قابل‌توجهی امنیت سرور را افزایش می‌دهد و از حملات Brute Force جلوگیری می‌کند.

این راهنما توسط دیدگاه برای استفاده عملی مدیران سرور و کاربران حرفه‌ای آماده شده است.