Як налаштувати двофакторну автентифікацію в SSH в Ubuntu?

Двофакторна автентифікація

La Двофакторна автентифікація (2FA) - це не те унікальне, що можна використовувати в соціальних мережах або на будь-якому іншому веб-сайті. Ну, цей захід безпеки також може бути реалізований в операційній системі.

Ось чому Сьогодні ми побачимо, як реалізувати двофакторну автентифікацію в SSH в Ubuntu та похідні інструменти з використанням відомого Google Authenticator, який значно підвищить безпеку вашого сервера OpenSSH.

Зазвичай вам просто потрібно ввести пароль або використовувати ключ SSH для віддаленого входу в систему.

Двофакторна автентифікація (2FA) вимагає введення двох даних для входу.

Тому вам також потрібно буде ввести одноразовий пароль на основі часу, щоб увійти на ваш сервер SSH.

Цей одноразовий пароль обчислюється за допомогою алгоритму TOTP, який є стандартом IETF.

Встановлення та конфігурація Google Authenticator в Ubuntu та похідних

Першим кроком, який ми збираємося зробити, є встановлення Google Authenticator у нашій системі, тому ми збираємося відкрити термінал в системі (це можна зробити за допомогою комбінації клавіш “Ctrl + Alt + T) і в ньому ми наберемо таку команду:

sudo apt install libpam-google-authenticator

Встановлення виконано ми збираємось запустити нещодавно встановлену програму з такою командою:

google-authenticator

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

Після цього, вони побачать QR-код, який вони зможуть відсканувати за допомогою програми TOTP на своєму телефоні.

тут Ми рекомендуємо використовувати програму Google Authenticator на своєму мобільному телефоні.так що ви можете встановити програму через Google Play або Apple App Store на свій мобільний телефон.

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

QR-код представляє секретний ключ, який відомий лише його серверу SSH та додатку Google Authenticator.

Після сканування QR-коду вони можуть побачити унікальний шестизначний маркер на своєму телефоні. За замовчуванням цей маркер триває 30 секунд, і його потрібно ввести для входу в Ubuntu через SSH.

google-автентифікатор-секретний ключ

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

Звідки ми рекомендуємо зберігати цю інформацію в безпечному місці для подальшого використання. На інші запитання, які нам задають, ми просто збираємося відповісти так, набравши букву у.

Конфігурація SSH для використання з Google Authenticator

Вже розраховуючи на вищесказане, Зараз ми зробимо необхідну конфігурацію, щоб мати можливість використовувати з’єднання SSH у нашій системі з Google Authenticator.

У терміналі vМи збираємося ввести наступну команду

sudo nano /etc/ssh/sshd_config

Усередині файлу ми будемо шукати наступні рядки, і ми змінимо їх на "так", будучи таким:

UsePAM yes

ChallengeResponseAuthentication yes

Після внесення змін збережіть зміни, внесені за допомогою Ctrl + O, і закрийте файл за допомогою Ctrl + X.

У тому ж терміналі ми збираємось перезапустити SSH за допомогою:

sudo systemctl restart ssh

За замовчуванням для автентифікації потрібно ввести пароль користувача для входу.

Так що давайте відредагуємо файл правил PAM для демона SSH.

sudo nano /etc/pam.d/sshd

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

ChallengeResponseAuthentication

Що ми повинні встановити так.

Щоб також увімкнути одноразову автентифікацію за паролем, додайте наступні два рядки.

@include common-auth

#One-time password authentication via Google Authenticator

auth required pam_google_authenticator.so

Збережіть і закрийте файл.

Відтепер кожного разу, коли вони входитимуть у вашу систему через з'єднання SSH, їм буде запропоновано ввести пароль користувача та код підтвердження (одноразовий пароль, сформований Google Authenticator).


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Мігель - сказав він

    Привіт, досить простий підручник, однак, коли я виконую всі дії, які я більше не можу ввести через ssh, це видає мені неправильну помилку пароля, я навіть не можу запитати 2FA.

    У мене є Ubuntu Server 20.04