як налаштувати двофакторну автентифікацію в Ubuntu для користувачів Ubuntu за допомогою аутентифікатора Google?


11

Як налаштувати двофакторну автентифікацію в Ubuntu для користувачів Ubuntu за допомогою аутентифікатора Google (Це також може бути налаштовано для облікових записів, які не належать Google)?

Відповіді:


16

Примітка. Якщо ви активували двофакторну автентифікацію для користувача і не встановили те ж саме для root, ви ніколи не зможете безпосередньо входити як root. У такому випадку можна обрати будь-який інший користувач sudo, для якого він налаштований, а потім використовувати sudo su -для переходу на root користувача.


Скористайтеся нижче кроками, щоб налаштувати його.

  1. Встановіть нижче даного пакета, щоб встановити автентифікатор Google, який ми будемо використовувати як доповнення з автентифікацією PAM:

    sudo apt-get install libpam-google-authenticator
    
  2. Тепер відредагуйте /etc/pam.d/sshdцей файл і додайте Google Authenticator, як зазначено нижче:

    *sudo vim /etc/pam.d/sshd
    

    введіть знизу вгорі цей файл-

    auth required pam_google_authenticator.so
    
  3. Тут ми повинні внести зміни, /etc/ssh/sshd_configщоб ssh використовував аутентифікатор Google, таким чином ми гарантуємо, що ssh використовує двофакторну автентифікацію.

    vim /etc/ssh/sshd_config
    

    У цьому файлі ми повинні знайти ChallengeResponseAuthenticationта відкоментувати та / або модифікувати його так, як показано нижче (коротше встановіть його так: P):

    ChallengeResponseAuthentication yes
    

    Додаткова або двофакторна автентифікація GUI інше пропустіть це та перейдіть до кроку 4: Щоб увімкнути його для входу в графічний інтерфейс, відредагуйте /etc/pam.d/common-auth:

    sudo vim /etc/pam.d/common-auth
    

    і тепер додайте це auth required pam_google_authenticator.soнад рядком, auth [success=1 default=ignore] pam_unix.so nullok_secureа потім збережіть файл.

  4. Тепер перейдіть до облікового запису, на якому ви хочете налаштувати його.
    ( Примітка. Я б запропонував створити щонайменше два суперкористувацькі облікові записи в системі, крім кореневого облікового запису, і налаштувати його принаймні для першого з них, але не для кореневого.)

    sudo su - testuser1
    
  5. Тепер ми будемо використовувати команду нижче, щоб встановити для цього двофакторну аутентифікацію testuser1:

    google-authenticator
    
  6. Виконавши цю команду, ви задасте нижче питання. (рекомендована відповідь - так)

    Ви хочете, щоб маркери аутентифікації залежали від часу (y / n) y

  7. Після цього він покаже вам QR-код та екстрені коди скретчів та декілька інших деталей. Викладене зображення повинно виглядати так, як зображено нижче:

    введіть тут опис зображення

  8. Тепер вам потрібно використовувати свій телефон Android / Apple / Blackberry, щоб завантажити та встановити додаток Google Authenticator з відповідних ринкових місць, наприклад, ігровий магазин Google. який генерує код для вас для входу.

    Нижче наведено скріншот програми Ікона та програма, знята з програми Android телефону.

    введіть тут опис зображення введіть тут опис зображення

  9. Запустіть програму на своєму телефоні та скануйте QR-код або використовуйте секретний ключ та код підтвердження, наведений нижче QR-коду в системі, який ви також можете побачити на першому скріншоті вище.

  10. Після того, як все це зроблено, дуже важливо записати і зберегти свої аварійні коди подряпин у безпечному місці, оскільки це коди, які можуть допомогти вам у випадку, якщо ви якось заблокуєтесь.

  11. У цей момент ви повинні подивитися внизу екрана, де він задає вам питання нижче. (рекомендована відповідь - так):

    Ви хочете, щоб я оновив ваш файл "/home/testuser1/.google_authenticator" (в / н) y

  12. Знову він поставить вам ще одне запитання, і рекомендована відповідь на наступне питання також - Так:

    Ви хочете заборонити багаторазове використання одного і того ж маркера аутентифікації? Це обмежує вас одним входом в систему кожні 30 років, але це збільшує ваші шанси помітити або навіть запобігти атакам "людина-посеред" (у / п) у

  13. Наступне питання буде таким, як наведено нижче, і рекомендована відповідь на нього - Ні:

    За замовчуванням маркери корисні протягом 30 секунд, і щоб компенсувати можливий перекіс часу між клієнтом і сервером, ми надаємо додатковий маркер до і після поточного часу. Якщо у вас виникли проблеми з поганою синхронізацією часу, ви можете збільшити вікно від його стандартного розміру від 1: 30 хв до приблизно 4 хв. Ви хочете зробити так (у / н) n

  14. І останнє питання буде таким, як наведено нижче, і на нього рекомендується відповісти: Так:

    Якщо комп'ютер, на якому ви входите в систему, не затверджений від спроб входу в грубу силу, ви можете включити обмеження швидкості для модуля аутентифікації. За замовчуванням це обмежує зловмисників не більше ніж 3 спробами входу кожні 30 років. Ви хочете ввімкнути ліміт швидкості (у / н) у

  15. Тепер переключіть вихід із цього облікового запису, щоб повернутися до кореневого рахунку:

    exit
    
  16. Тепер перезапустіть службу ssh

    service ssh restart
    

Тепер просто візьміть сеанс ssh для користувача, якого ви створили, і він спочатку попросить вас підтвердити код, який ви можете ввести зі свого мобільного телефону, а потім запитає пароль користувача.

введіть тут опис зображення

Це все, що потрібно для встановлення двофакторної аутентифікації. Будь ласка, не соромтеся покращити відповідь там, де це потрібно, і вибачте мене за не дуже гарну мову.


Коли я його видаляю, це залишає проблему щоразу, коли я запускаю команду з sudo: sudo: Помилка автентифікації PAM: Модуль невідомий
bagustris

@bagustris Ви маєте відредагувати файл "/etc/pam.d/common-auth" та видалити цей запис "потрібного для авторства пам_google_authenticator.so" цього запису. Після того як ви його видалите.
Хріш

щоб редагувати /etc/pam.d/common-auth, йому потрібен sudo. Оскільки sudo більше не працює, мені потрібна операційна ОС (або в моєму випадку, тому що я подвійний завантажуюся з Mac OS, я можу редагувати його з OS X із встановленим дозволом, що записується).
bagustris

1
@bagustris Ви можете це зробити, перейшовши в режим відновлення.
Хриш

1
Було б безпечніше не втрачати доступ до машини, якщо на кроці 2 ми використовуємо auth optionalзамість цього auth required. В іншому випадку вхід більше неможливий, якщо сеанс завершиться, і процес не закінчено.
Паскаль
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.