فعال سازی احراز هویت دو مرحله ای ssh در لینوکس
پرینت- 0
فعالسازی احراز هویت دو مرحلهای (2FA) برای SSH در لینوکس
- نصب Google Authenticator
ابتدا بسته مربوط به Google Authenticator را نصب کنید:
Debian/Ubuntu:
bash
sudo apt update
sudo apt install libpam-google-authenticator
CentOS/RHEL:
bash
sudo yum install epel-release
sudo yum install google-authenticator
Arch Linux:
bash
sudo pacman -S libpam-google-authenticator
- تولید کلید احراز هویت برای هر کاربر
دستور زیر را برای تولید کلید و تنظیمات اولیه اجرا کنید:
bash
google-authenticator
به سوال "Do you want authentication tokens to be time-based?" پاسخ دهید: y
یک QR Code نمایش داده میشود؛ آن را با اپلیکیشن Google Authenticator اسکن کنید.
Secret Key، Verification Code و Emergency Codes را در جای امن ذخیره کنید.
- پیکربندی PAM برای فعالسازی 2FA
فایل PAM مربوط به SSH را باز کنید:
bash
sudo nano /etc/pam.d/sshd
و این خط را به ابتدای فایل اضافه کنید:
text
auth required pam_google_authenticator.so
- تنظیمات SSH برای پشتیبانی از احراز هویت دو مرحلهای
فایل کانفیگ SSH را ویرایش کنید:
bash
sudo nano /etc/ssh/sshd_config
مطمئن شوید مقادیر زیر تنظیم شده باشند:
text
ChallengeResponseAuthentication yes
PasswordAuthentication yes
AuthenticationMethods publickey,password publickey,keyboard-interactive
- توجه: اگر میخواهید ورود فقط با 2FA باشد و رمز عبور به تنهایی پذیرفته نشود، مقدار زیر را تغییر دهید:
text
PasswordAuthentication no
- راهاندازی مجدد سرویس SSH
برای اعمال تغییرات، سرویس SSH را ریستارت کنید:
bash
sudo systemctl restart sshd
- تست ورود به SSH
اکنون وارد SSH شوید:
bash
ssh user@server-ip
ابتدا رمز عبور و سپس کد تایید احراز هویت دو مرحلهای (Verification code) را وارد کنید.
- بررسی لاگهای SSHاختیاری
برای مشاهده لاگهای مربوط به SSH و احراز هویت:
bash
sudo journalctl -u sshd --no-pager | tail -n 20
نکات مهم
- کدهای اضطراری که هنگام تنظیم تولید شدهاند را ذخیره کنید تا در صورت گم شدن گوشی، بتوانید وارد شوید.
- 2FA امنیت ورود به سرور شما را به شکل چشمگیری افزایش میدهد.
- با انجام این مراحل، احراز هویت دو مرحلهای برای SSH فعال شده و امنیت سرور شما به طور قابل توجهی افزایش مییابد!