Как войти на ваш рабочий стол Linux с помощью Google Authenticator

Оглавление:

Как войти на ваш рабочий стол Linux с помощью Google Authenticator
Как войти на ваш рабочий стол Linux с помощью Google Authenticator

Видео: Как войти на ваш рабочий стол Linux с помощью Google Authenticator

Видео: Как войти на ваш рабочий стол Linux с помощью Google Authenticator
Видео: Cutefish - новое окружение рабочего стола для Linux | Первый взгляд - YouTube 2024, Апрель
Anonim
Для дополнительной безопасности вам может потребоваться токен аутентификации, основанный на времени, а также пароль для входа на ваш Linux-ПК. Это решение использует Google Authenticator и другие приложения TOTP.
Для дополнительной безопасности вам может потребоваться токен аутентификации, основанный на времени, а также пароль для входа на ваш Linux-ПК. Это решение использует Google Authenticator и другие приложения TOTP.

Этот процесс был выполнен на Ubuntu 14.04 со стандартным менеджером входа Unity для настольных компьютеров и LightDM, но принципы одинаковы для большинства дистрибутивов Linux и настольных компьютеров.

Ранее мы показали вам, как требовать от Google Authenticator для удаленного доступа через SSH, и этот процесс аналогичен. Это не требует приложения Google Authenticator, но работает с любым совместимым приложением, которое реализует схему аутентификации TOTP, включая Authy.

Установите PAM Google Authenticator PAM

Как и при настройке для доступа к SSH, сначала нужно установить соответствующий программный модуль PAM («подключаемый модуль аутентификации»). PAM - это система, которая позволяет нам подключать различные типы методов аутентификации в систему Linux и требовать их.

На Ubuntu следующая команда установит PAM Google Authenticator. Откройте окно терминала, введите следующую команду, нажмите Enter и укажите свой пароль. Система загрузит PAM из ваших репозиториев программного обеспечения дистрибутива Linux и установит его:

sudo apt-get install libpam-google-authenticator

Другие дистрибутивы Linux должны надеяться, что этот пакет также будет доступен для простой установки - откройте свои репозитории программного обеспечения дистрибутива Linux и выполните поиск. В худшем случае вы можете найти исходный код модуля PAM на GitHub и скомпилировать его самостоятельно.
Другие дистрибутивы Linux должны надеяться, что этот пакет также будет доступен для простой установки - откройте свои репозитории программного обеспечения дистрибутива Linux и выполните поиск. В худшем случае вы можете найти исходный код модуля PAM на GitHub и скомпилировать его самостоятельно.

Как мы указывали ранее, это решение не зависит от «звонка домой» на серверы Google. Он реализует стандартный алгоритм TOTP и может использоваться, даже если на вашем компьютере нет доступа в Интернет.

Создание ключей аутентификации

Теперь вам нужно создать секретный ключ аутентификации и ввести его в приложение Google Authenticator (или аналогичное) на вашем телефоне. Сначала войдите в систему как свою учетную запись в своей системе Linux. Откройте окно терминала и запустите Google-аутентификатор команда. Тип Y и следуйте подсказкам здесь. Это создаст специальный файл в каталоге текущей учетной записи пользователя с информацией Google Authenticator.

Вы также пройдете процесс получения этого двухфакторного кода проверки в Google Authenticator или аналогичном приложении TOTP на вашем смартфоне. Ваша система может генерировать QR-код, который вы можете сканировать, или вы можете ввести его вручную.
Вы также пройдете процесс получения этого двухфакторного кода проверки в Google Authenticator или аналогичном приложении TOTP на вашем смартфоне. Ваша система может генерировать QR-код, который вы можете сканировать, или вы можете ввести его вручную.

Обязательно запишите свои коды аварийной царапины, которые вы можете использовать для входа в систему, если вы потеряете свой телефон.

Пройдите этот процесс для каждой учетной записи пользователя, которая использует ваш компьютер. Например, если вы единственный человек, который использует ваш компьютер, вы можете просто сделать это один раз в своей обычной учетной записи пользователя. Если у вас есть кто-то другой, кто использует ваш компьютер, вы захотите, чтобы они вошли в свою учетную запись и создали подходящий двухфакторный код для своей учетной записи, чтобы они могли войти в систему.
Пройдите этот процесс для каждой учетной записи пользователя, которая использует ваш компьютер. Например, если вы единственный человек, который использует ваш компьютер, вы можете просто сделать это один раз в своей обычной учетной записи пользователя. Если у вас есть кто-то другой, кто использует ваш компьютер, вы захотите, чтобы они вошли в свою учетную запись и создали подходящий двухфакторный код для своей учетной записи, чтобы они могли войти в систему.
Image
Image

Активировать аутентификацию

Вот где вещи становятся немного плавными. Когда мы объяснили, как включить двухфакторный вход для SSH, мы требовали его только для входа в SSH. Это гарантировало, что вы все равно можете войти в систему локально, если потеряли приложение для проверки подлинности или что-то пошло не так.

Поскольку мы будем включать двухфакторную аутентификацию для локальных логинов, здесь есть потенциальные проблемы. Если что-то пойдет не так, возможно, вы не сможете войти в систему. Принимая это во внимание, мы проверим вас, разрешив это только для графического входа. Это дает вам люк-побег, если вам это нужно.

Включить Google Authenticator для графических подключений на Ubuntu

Вы всегда можете включить двухэтапную аутентификацию только для графических логинов, пропустив это требование при входе в текстовое приглашение. Это означает, что вы можете легко переключиться на виртуальный терминал, войти в систему и вернуть свои изменения, чтобы Gogole Authenciator не требовался, если у вас возникла проблема.

Конечно, это открывает дыру в вашей системе аутентификации, но злоумышленник с физическим доступом к вашей системе уже может использовать его в любом случае. Вот почему двухфакторная аутентификация особенно эффективна для удаленного входа в систему через SSH.

Вот как это сделать для Ubuntu, который использует диспетчер входа LightDM. Откройте файл LightDM для редактирования с помощью следующей команды:

sudo gedit /etc/pam.d/lightdm

(Помните, что эти конкретные шаги будут работать только в том случае, если ваш дистрибутив Linux и рабочий стол используют диспетчер входа LightDM.)

Добавьте следующую строку в конец файла, а затем сохраните ее:
Добавьте следующую строку в конец файла, а затем сохраните ее:

auth required pam_google_authenticator.so nullok

Бит «nullok» в конце сообщает системе разрешить пользователю войти в систему, даже если они не выполнили команду аутентификации Google для настройки двухфакторной аутентификации. Если они настроили его, им нужно будет ввести код времени-baesd, иначе они не будут. Удалите «nullok» и учетные записи пользователей, которые не настроили код Google Authenticator, просто не смогут войти в систему графически.

В следующий раз, когда пользователь войдет в систему графически, их попросят ввести свой пароль, а затем запросят текущий код подтверждения, отображаемый на их телефоне. Если они не вводят код подтверждения, им не разрешено входить в систему.
В следующий раз, когда пользователь войдет в систему графически, их попросят ввести свой пароль, а затем запросят текущий код подтверждения, отображаемый на их телефоне. Если они не вводят код подтверждения, им не разрешено входить в систему.
Этот процесс должен быть достаточно схожим для других дистрибутивов Linux и настольных компьютеров, поскольку большинство обычных диспетчеров сеансов рабочего стола Linux используют PAM. Вам, скорее всего, придется редактировать другой файл с чем-то похожим на активацию соответствующего модуля PAM.
Этот процесс должен быть достаточно схожим для других дистрибутивов Linux и настольных компьютеров, поскольку большинство обычных диспетчеров сеансов рабочего стола Linux используют PAM. Вам, скорее всего, придется редактировать другой файл с чем-то похожим на активацию соответствующего модуля PAM.

Если вы используете шифрование Home Directory

Более старые версии Ubuntu предлагают простое шифрование «домашней папки», которое зашифровывает весь ваш домашний каталог, пока вы не введете свой пароль. В частности, это использует ecryptfs. Однако, поскольку программное обеспечение PAM зависит от файла Google Authenticator, хранящегося в вашем домашнем каталоге по умолчанию, шифрование мешает чтению файла PAM, если вы не обеспечите его доступность в незашифрованном виде системе перед входом в систему. Проконсультируйтесь с README для получения более подробной информации. информацию об избежании этой проблемы, если вы все еще используете устаревшие параметры шифрования домашнего каталога.

Современные версии Ubuntu предлагают шифрование с полным диском, что отлично работает с вышеуказанными параметрами. Вам не нужно ничего делать

Помогите, он сломался!

Поскольку мы просто включили это для графических логинов, его следует легко отключить, если это вызывает проблему. Нажмите комбинацию клавиш, например Ctrl + Alt + F2, чтобы получить доступ к виртуальному терминалу и войти туда с вашим именем пользователя и паролем. Затем вы можете использовать команду, например sudo nano /etc/pam.d/lightdm, чтобы открыть файл для редактирования в текстовом редакторе терминала. Используйте наше руководство для Nano, чтобы удалить строку и сохранить файл, и вы сможете снова войти в систему снова.

Вы также можете заставить Google Authenticator потребоваться для других типов логинов - потенциально даже для всех системных логинов - добавив строку «auth required pam google authenticator.so» в другие файлы конфигурации PAM. Будьте осторожны, если вы это сделаете. И помните, что вы можете добавить «nullok», чтобы пользователи, которые еще не прошли процесс настройки, все равно могут войти в систему.
Вы также можете заставить Google Authenticator потребоваться для других типов логинов - потенциально даже для всех системных логинов - добавив строку «auth required pam google authenticator.so» в другие файлы конфигурации PAM. Будьте осторожны, если вы это сделаете. И помните, что вы можете добавить «nullok», чтобы пользователи, которые еще не прошли процесс настройки, все равно могут войти в систему.

Дальнейшую документацию по использованию и настройке этого модуля PAM можно найти в файле README программного обеспечения на GitHub.

Рекомендуемые: