loading...
فعال سازی احراز هویت دو مرحله ای 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 شما اکنون ایمن‌تر شده و ورود با احراز هویت دو مرحله‌ای انجام می‌شود! ????

آیا این پاسخ به شما کمک کرد؟

مقالات مربوطه