По умолчанию SSH использует защищенный обмен данными между удаленными компьютерами, но если вы хотите добавить дополнительный уровень безопасности для своих SSH-соединений, вы можете добавить модуль Google Authenticator (двухфакторная аутентификация), который позволяет вводить случайно сгенерированный одноразовый пароль (TOTP) при подключении к SSH—серверам. При подключении вам нужно будет ввести код подтверждения со своего смартфона или ПК.
Google Authenticator — это модуль с открытым исходным кодом, который включает в себя реализацию токена проверки одноразовых паролей (TOTP), разработанного Google. Он поддерживает несколько мобильных платформ, а также PAM (Pluggable Authentication Module). Эти одноразовые пароли создаются с использованием открытых стандартов, созданных OATH (Initiative for Open Authentication).
В этой статье я покажу вам, как настроить SSH для двухфакторной аутентификации в Red Hat, CentOS, Fedora, Ubuntu, Linux Mint и Debian.
Установка модуля Google Authenticator
Откройте машину, на которой вы хотите настроить двухфакторную аутентификацию, и установите следующие библиотеки PAM вместе с библиотеками для разработки, которые необходимы для корректного взаимодействия модуля PAM с модулем аутентификации Google.
В системах Red Hat, CentOS и Fedora установите пакет «pam-devel».
В системах Ubuntu, Linux Mint и Debian установите пакет «libpam0g-dev».
Теперь клонируйте с github, а затем установите модуль аутентификатора Google в домашний каталог (предположим, вы уже вошли в домашний каталог root) с помощью следующей команды git:
После того, как вы запустите команду «google-authenticator», она предложит вам серию вопросов. Просто вводите «у» (да) в качестве ответа в большинстве ситуаций. Если что-то пойдет не так, вы можете снова выполнить команду «google-authenticator» для сброса настроек.
- Do you want authentication tokens to be time-based? (y/n) y
После этого вопроса вы получите «секретный ключ» и «аварийные коды». Запишите куда-нибудь эти данные, позже нам потребуется «секретный ключ» для настройки приложения Google Authenticator.
Затем следуйте указаниям мастера установки и снова в большинстве случаев вводите ответ «y» (да), как показано ниже:
Настройка SSH для использования модуля Google Authenticator
Откройте файл конфигурации PAM «/etc/pam.d/sshd» и добавьте следующую строку в начало файла:
Затем откройте файл конфигурации SSH «/etc/ssh/sshd_config» и прокрутите вниз, чтобы найти строку с надписью:
Измените «no» на «yes». В итоге вы получите:
Наконец, перезапустите службу SSH, чтобы принять новые изменения:
Настройка приложения Google Authenticator
Запустите приложение Google Authenticator на своем смартфоне. Нажмите «Menu» и выберите «Setup an account». Если у вас не установлено это приложения, вы можете загрузить и установить Google Authenticator на свои устройства Android/iPhone/Blackberry.
Нажмите «Enter key provided».
Добавьте свою учетную запись «Account name» и введите «Secret key», созданный ранее:
Приложение сгенерирует одноразовый пароль (проверочный код), который будет постоянно обновляться каждые 30 секунд на экране вашего телефона.
Теперь попробуйте войти через SSH, вам будет предложено ввести код Google Authenticator (код подтверждения), ну и соответственный пароль при каждой попытке входа через SSH. У вас есть только 30 секунд для ввода этого одноразового кода подтверждения, если вы не успеете ввести код за отведённое время, будет создан новый код подтверждения.
Если у вас нет смартфона, вы также можете использовать надстройку Firefox под названием GAuth Authenticator для двухфакторной аутентификации.
Важное замечание: Двухфакторная аутентификация работает с паролем на основе SSH. Если вы используете сеанс SSH с закрытым/открытым ключом, он проигнорирует двухфакторную аутентификацию и войдет в систему напрямую.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый
Вот еще вариант с телеграм ботом
https://multifactor.ru/docs/linux-2fa-telegram/