Как обезопасить SSH с помощью двухфакторной аутентификации Google Authenticator

Хотите защитить свой SSH-сервер с помощью простой в использовании двухфакторной аутентификации? Google предоставляет необходимое программное обеспечение для интеграции системы одноразового пароля (TOTP) Google Authenticator с вашим сервером SSH. При подключении вам нужно будет ввести код с телефона.

Google Authenticator не «звонит домой» в Google – вся работа происходит на вашем SSH-сервере и вашем телефоне. На самом деле, Google Authenticator является полностью открытым исходным кодом, так что вы даже можете проверить его исходный код самостоятельно.

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

Для реализации многофакторной аутентификации с помощью Google Authenticator нам потребуется модуль PAM Google Authenticator с открытым исходным кодом. PAM означает «подключаемый модуль аутентификации» – это способ легко подключить различные формы аутентификации к системе Linux.

Репозитории программного обеспечения Ubuntu содержат простой в установке пакет для модуля PAM Google Authenticator. Если ваш дистрибутив Linux не содержит пакета для этого, вам придется скачать его со страницы загрузок Google Authenticator в Google Code и скомпилировать его самостоятельно.

Чтобы установить пакет в Ubuntu, выполните следующую команду:

sudo apt-get установить libpam-google-authenticator

(Это только установит модуль PAM в нашей системе – нам нужно будет активировать его для входа по SSH вручную.)

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

Войдите в систему как пользователь, с которым вы будете входить удаленно, и введите команду google-authenticator , чтобы создать секретный ключ для этого пользователя.

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

Google Authenticator предоставит вам секретный ключ и несколько «аварийных чистых кодов». Запишите аварийные чистые коды в безопасном месте – их можно использовать только один раз каждый, и они предназначены для использования в случае потери телефона.

Введите секретный ключ в приложении Google Authenticator на своем телефоне (официальные приложения доступны для Android, iOS и Blackberry). Вы также можете использовать функцию сканирования штрих-кода – перейдите по URL-адресу, расположенному в верхней части вывода команды, и вы можете отсканировать QR-код с помощью камеры вашего телефона.

Теперь у вас на телефоне постоянно меняется проверочный код.

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

Активировать Google Authenticator

Далее вам потребуется Google Authenticator для входа по SSH. Для этого откройте файл /etc/pam.d/sshd в своей системе (например, с помощью команды sudo nano /etc/pam.d/sshd ). и добавьте следующую строку в файл:

требуется авторизация pam_google_authenticator.so

Затем откройте файл /etc/ssh/sshd_config , найдите строку ChallengeResponseAuthentication и измените ее следующим образом:

ChallengeResponseAuthentication yes

(Если строка ChallengeResponseAuthentication еще не существует, добавьте приведенную выше строку в файл.)

Наконец, перезапустите сервер SSH, чтобы изменения вступили в силу:

sudo service ssh restart

Вам будет предложено ввести пароль и код Google Authenticator при каждой попытке входа через SSH.

Оцените статью
TutoryBird.Ru
Добавить комментарий