Облегчив себе аутентификацию при непосредственной работе за компьютером, стоило бы максимально усложнить ее для удаленного доступа. Например, когда это доступ по SSH.
Рекомендую прочитать новую статью Двухфакторная аутентификация в Linux для SSH и терминала
В таком случае вас выручит модуль pam-google-authentificator, с помощью которого можно настроить двухфакторную аутентификацию на основе одноразовых паролей.
Данный метод аутентификации, несмотря на свое название, никак не связан с Google или его серверами. Вместо Google Authenticator вы можете использовать приложение от независимых разработчиков — FreeOTP.
Двухфакторная аутентификация в Linux
Сперва необходимо установить на компьютер сам пакет. Под тем или иным названием он доступен во всех популярных дистрибутивах. Поиск следует вести по ключевым словам pam google.
Установив пакет, следует отредактировать файл /etc/pam.d/sshd, добавив в него строку
1 |
auth required pam_google_authenticator.so no_increment_hotp |
Опция no_increment_hotp запретит счетчику неудачных попыток авторизации увеличивать их количество.
Теперь осталось настроить сам модуль, выполнив команду
1 |
$ google-authenticator |
В ходе ее выполнения будет сгенерирована ссылка на QR-код для привязки телефона (ее следует отсканировать с помощью приложения Google Authenticator), секретный ключ для ввода в телефоне вручную, один текущий код доступа и пять резервных.
На все вопросы (привязка кода к линейке времени, обновление настроек программы в папке пользователя, запрет повторного использования одного и того же кода, ограничение в виде трех попыток входа в 30-секундный промежуток времени) следует ответить утвердительно и лишь на один — четвертый по счету (увеличение временного расхождения между клиентом и сервером) — из соображений безопасности лучше ответить отрицательно.
Еще по теме: