- Сообщения
- 933
- Реакции
- 1.341
В данной статье я опишу процесс добавление 2FA аутентификации к SSH соединение, то есть, при подключении по SSH к вашему серверу помимо пароля так же потребуется ввести TOTP код из приложения для TOTP, как при двухфакторной аутентификации на каком-либо другом ресурсе.
В качестве мобильного приложения для генерации временного кода я рекомендую программу Aegis (
И так, приступим:
Подключаемся к нашему серверу по SSH командой
Устанавливаем пакет с библиотекой google-аутентификатора (пусть вас не смущает слово “google”, код этого пакета открыт)
Отредактируем файл /etc/pam.d/sshd с помощью редактора nano командой:
В начало файла (после 1ой закомментированной строки) добавляем следующее:
Отредактируем файл /etc/ssh/sshd_config с помощью редактора nano командой:
Находим строку ChallengeResponseAuthentication и меняем
На
Запускаем аутентификатор командой:
Сканируем со смартфона QR-код и сохраняем в отдельный файл резервные коды
Далее на:
Отвечаем y
На
Отвечаем y
На
Отвечаем n
На
Отвечаем y
Всё готово, теперь перед входом на сервер вам надо будет вводить TOTP-код, это значительно улучшит безопасность SSH соединения
О других методах защиты SSH-соединения можете прочитать в другой статье -
Прочитать про реализацию двухфакторной аутентификации SSH-соединения с помощью аппаратного ключа безопасности можно в другой моей статье -
В качестве мобильного приложения для генерации временного кода я рекомендую программу Aegis (
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
)И так, приступим:
Подключаемся к нашему серверу по SSH командой
Код:
ssh root@ip_сервера
Устанавливаем пакет с библиотекой google-аутентификатора (пусть вас не смущает слово “google”, код этого пакета открыт)
Код:
apt install libpam-google-authenticator
Отредактируем файл /etc/pam.d/sshd с помощью редактора nano командой:
Код:
nano /etc/pam.d/sshd
В начало файла (после 1ой закомментированной строки) добавляем следующее:
Код:
auth required pam_google_authenticator.so
Отредактируем файл /etc/ssh/sshd_config с помощью редактора nano командой:
Код:
nano /etc/ssh/sshd_config
Находим строку ChallengeResponseAuthentication и меняем
Код:
ChallengeResponseAuthentication no
На
Код:
ChallengeResponseAuthentication yes
Запускаем аутентификатор командой:
Код:
google-authenticator
Сканируем со смартфона QR-код и сохраняем в отдельный файл резервные коды
Далее на:
Код:
Do you want me to update your "~/.google_authenticator" file (y/n)
Отвечаем y
На
Код:
Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n)
Отвечаем y
На
Код:
By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n)
Отвечаем n
На
Код:
If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n)
Отвечаем y
Всё готово, теперь перед входом на сервер вам надо будет вводить TOTP-код, это значительно улучшит безопасность SSH соединения
О других методах защиты SSH-соединения можете прочитать в другой статье -
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Прочитать про реализацию двухфакторной аутентификации SSH-соединения с помощью аппаратного ключа безопасности можно в другой моей статье -
Пожалуйста Войдите или Зарегистрируйтесь чтобы видеть скрытые ссылки.
Последнее редактирование: