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