رفتن به محتوای اصلی
iServer24 | ارائه‌کننده سرورهای ابری و اختصاصی
فعال‌سازی احراز هویت دومرحله‌ای (2FA) برای SSH و پنل‌های مدیریتی

فعال‌سازی احراز هویت دومرحله‌ای (2FA) برای SSH و پنل‌های مدیریتی

امنیت
3 دقیقه مطالعه

آموزش گام‌به‌گام فعال‌سازی احراز هویت دومرحله‌ای (2FA) با Google Authenticator برای ورود امن‌تر به SSH و پنل‌های مدیریتی سرور لینوکس.

فعال‌سازی احراز هویت دومرحله‌ای (2FA) برای SSH و پنل‌های مدیریتی

حتی با استفاده از کلید SSH یا رمز عبور قوی، اگر این اطلاعات به هر دلیلی افشا شود، مهاجم می‌تواند به‌راحتی به سرور دسترسی پیدا کند. احراز هویت دومرحله‌ای (2FA) با افزودن یک لایه امنیتی دوم، این ریسک را به‌طور چشمگیری کاهش می‌دهد.

2FA چیست و چرا اهمیت دارد؟

در احراز هویت دومرحله‌ای، علاوه بر رمز عبور یا کلید SSH، کاربر باید یک کد یکبارمصرف (OTP) که توسط اپلیکیشنی مانند Google Authenticator تولید می‌شود را نیز وارد کند. حتی اگر رمز عبور یا کلید لو برود، بدون دسترسی به این کد، ورود به سرور امکان‌پذیر نخواهد بود.

نصب و پیکربندی Google Authenticator PAM Module

5 خط
sudo apt update
sudo apt install libpam-google-authenticator -y

# اجرای ابزار پیکربندی برای کاربر جاری
google-authenticator
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

در حین اجرا، یک QR Code نمایش داده می‌شود که باید با اپلیکیشن Google Authenticator اسکن شود. همچنین کدهای بازیابی اضطراری (Backup Codes) نمایش داده می‌شوند که باید در مکانی امن ذخیره شوند.

پیکربندی PAM و SSH

پس از نصب ماژول، باید فایل پیکربندی PAM را ویرایش کنید:

3 خط
sudo nano /etc/pam.d/sshd
# افزودن خط زیر در ابتدای فایل
auth required pam_google_authenticator.so
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

سپس در فایل تنظیمات SSH، گزینه‌های زیر را فعال کنید:

6 خط
sudo nano /etc/ssh/sshd_config
# تنظیم موارد زیر
ChallengeResponseAuthentication yes
AuthenticationMethods publickey,keyboard-interactive

sudo systemctl restart sshd
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

با این تنظیم، کاربران علاوه بر کلید SSH باید کد یکبارمصرف را نیز وارد کنند.

نکات مهم امنیتی

  • پیش از قطع اتصال فعلی، حتماً در یک نشست جداگانه ورود با 2FA را تست کنید تا از قفل شدن دسترسی جلوگیری شود.
  • کدهای بازیابی اضطراری را در مکانی خارج از سرور نگهداری کنید.
  • 2FA را می‌توان برای پنل‌های مدیریتی وب مانند phpMyAdmin یا پنل‌های سفارشی نیز با استفاده از کتابخانه‌های مشابه پیاده‌سازی کرد.

2FA در کنار سایر تدابیر امنیتی

فعال‌سازی 2FA به‌تنهایی کافی نیست و باید در کنار سایر اقدامات امنیتی مانند نصب Fail2Ban برای مقابله با تلاش‌های Brute-Force به کار گرفته شود؛ جزئیات کامل این موضوع در مقاله آموزش Fail2Ban و هاردنینگ SSH آمده است. برای آشنایی کامل‌تر با مفاهیم پایه SSH نیز می‌توانید به راهنمای جامع SSH مراجعه کنید.

جمع‌بندی

احراز هویت دومرحله‌ای یکی از ساده‌ترین و در عین حال مؤثرترین راه‌ها برای افزایش امنیت دسترسی به سرور است. با صرف چند دقیقه برای پیکربندی، می‌توانید ریسک نفوذ ناشی از افشای رمز عبور یا کلید را به‌طور قابل‌توجهی کاهش دهید.

2FA در کنار سایر لایه‌های امنیتی شبکه

فعال‌سازی 2FA باید در کنار محدودسازی دسترسی در سطح شبکه انجام شود؛ برای مثال بستن پورت‌های غیرضروری و مجاز کردن فقط ترافیک مورد نیاز از طریق یک فایروال شبکه مانند UFW، سطح حمله را به‌طور قابل‌توجهی کاهش می‌دهد. راهنمای کامل در مقاله امن‌سازی سرور با فایروال UFW آمده است.

زیرساخت ابری برای اجرای همین آموزش

سرور ابری ساعتی را برای Docker، Ubuntu و DevOps راه‌اندازی کنید — پرداخت به میزان مصرف یا ماهانه.

ادامه یادگیری:Docker·Ubuntu·VPS