Как настроить двухфакторную аутентификацию для SSH
| Подробности урока | |
|---|---|
| Уровень сложности | Лёгкий |
| Права root | Требуются |
| Требования | Терминал Linux |
| Категория | Установка ПО |
| Совместимость с ОС | Debian, Ubuntu |
| Примерное время чтения | 1 час |
Введение
Обычной авторизации по паролю для SSH часто недостаточно. Если пароль пользователя станет известен злоумышленнику, он сможет получить доступ к серверу.
Дополнительную защиту можно получить с помощью двухфакторной аутентификации (2FA). В этом случае для входа по SSH потребуется не только пароль, но и одноразовый код из приложения-аутентификатора.
В этой статье настроим 2FA для SSH на Debian/Ubuntu с помощью libpam-google-authenticator.
Что понадобится
Для настройки потребуется:
-
сервер с Debian или Ubuntu;
-
доступ к SSH с правами
rootили черезsudo; -
приложение-аутентификатор на телефоне, например Google Authenticator, Aegis или 2FAS;
-
установленный и работающий SSH-сервер.
Инструкция
1. Устанавливаем Google Authenticator PAM
Обновляем список пакетов:
apt update
Устанавливаем необходимые компоненты:
apt install libpam-google-authenticator
После установки можно проверить наличие программы:
google-authenticator --help
2. Настраиваем 2FA для пользователя
Важно выполнять следующую команду от имени того пользователя, для которого будет включена двухфакторная аутентификация.
Например:
su - user
Запускаем настройку:
google-authenticator
Программа задаст несколько вопросов.
Первый вопрос предлагает создать новый секр

