41111111111Rating 4.00 (6 Votes)
ssh google auth
SSH отличная вещь, каждый администратор, который работает с Linux наверное если не каждый день, то хоть раз в жизни да слышал или использовал SSH так или иначе :) Можно разными способами защищать доступ по SSH к своему серверу - запрещать / разрешать доступ для разных пользователей, настраивать аутентификацию по ключам или например настроить двухфакторную аутентификацию при помощи Google Authenticatior.
Перед тем, как начать, рекомендую настроить NTP синхронизацию на своем сервере / рабочей станции, например при помощи chrony, установить на свой телефон Google Authenticator (ищи в Google Play или что ты там используешь), далее приступить к установке и на настройке MFA.

Установка Google Authenticator

Для CentOS необходимо установить epel репозиторий:
yum install epel-release
Далее установить Gogle Authenticator:
yum install google-authenticator

Настройка Gogle Authenticator

Для настройки необходимо запустить google-authenticator из-под пользователя для которого будет настраиваться MFA:
google-authenticator
После запуска необходимо ответить на несколько вопросов:
Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/ssh-user/.google_authenticator" file (y/n) y
И так далее, отвечаем на все вопросы утвердительно, на одном из этапов необходимо отсканировать QR код для своего мобильного аутентификатора

Настройка SSH

Необходимо добавить строку в sshd конфиг pam.d:
nano /etc/pam.d/sshd
# Google auth
auth required pam_google_authenticator.so nullok
Включить параметр:
ChallengeResponseAuthentication yes
В конфигe sshd:
/etc/ssh/sshd_config
Перезапустить sshd:
systemctl restart sshd.service

Тестирование подключения

Пробуем подключиться как обычно, если используется аутентификация по паролю, после ввода пароля нужно будет ввести проверочный ключ:
ssh Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Password: Verification code:

Если используется подключение по RSA ключу

Как настроить подключение по RSA, если такое подключение настроено, то для работоспособности связки RSA + OTP необходимо открыть sshd_config:
nano /etc/ssh/sshd_config
Добавить в него строку:
AuthenticationMethods publickey,password publickey,keyboard-interactive
Открыть pam конфиг sshd:
nano /etc/pam.d/sshd
Закомментировать строку:
# auth       substack     password-auth
Перезапустить sshd:
systemctl restart sshd.service

Отладка SSHD

Для этого достаточно запустить sshd с параметром -D:
/usr/sbin/sshd -p 1234 -D -d -e
Временно добавить порт в исключения firewalld:
firewall-cmd --add-port=1234/tcp
Попробовать подключиться на указанный порт:
ssh Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. -p1234
Done!
 

Добавить комментарий


Защитный код
Обновить

Сейчас 94 гостей и ни одного зарегистрированного пользователя на сайте

Вверх
Вниз