2023-07-26 18:55:24 +03:00
|
|
|
|
---
|
|
|
|
|
title: Двухфакторная аутентификация для SSH
|
|
|
|
|
description: 2fa, totp, google-authenticator
|
|
|
|
|
date: 2022-11-29T13:35:00+05:00
|
|
|
|
|
tags: [linux, ssh]
|
|
|
|
|
---
|
|
|
|
|
## Установка пакета
|
2023-12-26 01:34:28 +03:00
|
|
|
|
|
2023-09-24 18:58:33 +03:00
|
|
|
|
```shell
|
2023-07-26 18:55:24 +03:00
|
|
|
|
apt install -y openssh-server libpam-google-authenticator
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Правка конфига PAM
|
|
|
|
|
|
2023-12-26 01:34:28 +03:00
|
|
|
|
В файл `/etc/pam.d/common-auth` необходимо добавить следующее:
|
2024-11-03 15:11:52 +03:00
|
|
|
|
```python
|
2023-12-26 01:34:28 +03:00
|
|
|
|
auth required pam_google_authenticator.so
|
2023-07-26 18:55:24 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Правка конфига ssh
|
2023-12-26 01:34:28 +03:00
|
|
|
|
|
|
|
|
|
В файл `/etc/ssh/sshd_config` необходимо добавить следующее:
|
2024-11-03 15:11:52 +03:00
|
|
|
|
```python
|
2023-07-26 18:55:24 +03:00
|
|
|
|
ChallengeResponseAuthentication yes
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Конфигурация аутентификации
|
|
|
|
|
Следующая команда сконфигурирует TOTP.
|
|
|
|
|
Запускать команду следует от имени того пользователя,
|
|
|
|
|
к которому будет инициализированно подключение.
|
2023-09-24 18:58:33 +03:00
|
|
|
|
```shell
|
2023-07-26 18:55:24 +03:00
|
|
|
|
google-authenticator
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Управление факторами (необязательно)
|
2023-12-26 01:34:28 +03:00
|
|
|
|
Для запроса ключа при аутентификации необходимо в файл `/etc/ssh/sshd_config` добавить следующее:
|
2024-11-03 15:11:52 +03:00
|
|
|
|
```python
|
2023-07-26 18:55:24 +03:00
|
|
|
|
AuthenticationMethods publickey,password publickey,keyboard-interactive
|
|
|
|
|
```
|
|
|
|
|
|
2023-12-26 01:34:28 +03:00
|
|
|
|
Для отключения запроса пароля при аутентификации необходимо в файле `/etc/pam.d/sshd` закомментировать следующюю строку:
|
2024-11-03 15:11:52 +03:00
|
|
|
|
```python
|
2023-12-26 01:34:28 +03:00
|
|
|
|
# @include common-auth
|
2023-07-26 18:55:24 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Перезапуск сервиса ssh
|
2023-09-24 18:58:33 +03:00
|
|
|
|
```shell
|
2023-07-26 18:55:24 +03:00
|
|
|
|
systemctl restart ssh
|
|
|
|
|
```
|