Настройка двухфакторной аутентификации в Proxmox VE
Пошаговая настройка TOTP и recovery keys в Proxmox VE, проверка входа и безопасное восстановление доступа.
Двухфакторная аутентификация защищает учётную запись Proxmox VE дополнительным одноразовым кодом. Даже если пароль станет известен постороннему, войти в веб-интерфейс без второго фактора будет значительно сложнее.
В этой инструкции рассматривается только настройка TOTP для отдельного пользователя Proxmox VE, создание recovery keys и проверка входа.
Подходит для: Proxmox VE 8 и 9
Уровень сложности: начальный
Время выполнения: около 10–15 минут
Требуемый доступ: действующая учётная запись Proxmox VE и приложение-аутентификатор
Что будет настроено
После выполнения инструкции:
- для пользователя будет включён TOTP;
- QR-код будет добавлен в приложение-аутентификатор;
- будет проверен вход с одноразовым кодом;
- будут созданы recovery keys;
- будет рассмотрено безопасное отключение второго фактора;
- будет подготовлен порядок восстановления доступа.
Что такое TOTP
TOTP — это одноразовый код, который меняется через определённый интервал времени.
Код генерируется на основе:
- общего секретного ключа;
- текущего времени;
- алгоритма TOTP.
Для генерации не требуется постоянное подключение телефона к интернету.
Что потребуется
Подготовьте приложение, поддерживающее TOTP.
Подойдут:
Aegis
2FAS
Google Authenticator
Microsoft Authenticator
FreeOTP
Bitwarden
Не храните единственную копию второго фактора только на одном устройстве без резервного способа восстановления.
Проверка времени на узле
TOTP зависит от точного времени.
На узле Proxmox VE выполните:
timedatectl
Проверьте:
System clock synchronized: yes
NTP service: active
Проверьте статус синхронизации:
systemctl status systemd-timesyncd --no-pager
На некоторых системах может использоваться другой NTP-клиент.
Проверка текущего времени
date
Проверьте часовой пояс:
timedatectl show --property=Timezone --value
Неверное время может привести к отклонению корректных TOTP-кодов.
Проверка пользователя
В веб-интерфейсе откройте:
Datacenter → Permissions → Users
Проверьте точное имя учётной записи.
Пример:
operator@pve
Realm является частью имени пользователя.
Где настраивается второй фактор
Пользователь может настроить собственный второй фактор через меню своей учётной записи.
В правом верхнем углу веб-интерфейса откройте меню пользователя.
Выберите:
TFA
или раздел управления двухфакторной аутентификацией.
Название пункта может немного отличаться в зависимости от версии интерфейса.
Добавление TOTP
Нажмите:
Add → TOTP
Укажите описание.
Пример:
Основной телефон
Proxmox VE покажет:
- QR-код;
- секретный ключ;
- поле для подтверждающего кода.
Добавление QR-кода в приложение
Откройте приложение-аутентификатор.
Выберите:
Добавить учётную запись
Сканировать QR-код
Отсканируйте QR-код с экрана Proxmox VE.
В приложении появится запись с именем пользователя и сервера.
Ручной ввод секрета
Если камера недоступна, секрет можно ввести вручную.
Скопируйте:
- имя учётной записи;
- секретный ключ;
- тип TOTP.
Не отправляйте секрет через электронную почту или мессенджер.
Подтверждение настройки
Введите текущий шестизначный код из приложения.
Нажмите:
Add
Если код принят, TOTP появится в списке настроенных факторов.
Проверка в отдельной сессии
Не выходите из текущей административной сессии.
Откройте:
- приватное окно браузера;
- другой профиль браузера;
- другой компьютер.
Войдите с обычным логином и паролем.
После проверки пароля Proxmox VE запросит одноразовый код.
Введите код из приложения.
Почему нельзя сразу закрывать текущую сессию
Если TOTP настроен ошибочно, текущая активная сессия позволит:
- исправить второй фактор;
- удалить неверную запись;
- создать recovery keys;
- проверить время;
- сохранить административный доступ.
Закрывайте исходную сессию только после успешной проверки нового входа.
Создание recovery keys
Recovery keys позволяют войти без приложения-аутентификатора, если телефон потерян или недоступен.
В разделе TFA выберите:
Add → Recovery Keys
Proxmox VE создаст набор одноразовых кодов.
Каждый код используется только один раз.
Безопасное хранение recovery keys
Сохраните recovery keys:
- в менеджере паролей;
- в зашифрованном хранилище;
- в офлайн-копии;
- в защищённой документации организации.
Не храните recovery keys:
- рядом с паролем в открытом виде;
- на рабочем столе;
- в незашифрованном текстовом файле;
- в публичном Git-репозитории;
- в общем чате.
Проверка recovery key
После создания рекомендуется проверить один код в отдельной сессии.
На экране запроса второго фактора выберите recovery key, если интерфейс предлагает выбор способа.
Введите один код.
После успешного входа этот recovery key станет недействительным.
Проверьте, что остальные коды сохранены.
Добавление второго TOTP-устройства
Можно зарегистрировать дополнительный фактор.
Например:
Основной телефон
Резервный телефон
Планшет администратора
Для каждого устройства лучше создать отдельную запись TOTP.
Это позволяет удалить один фактор без изменения остальных.
Почему отдельные записи лучше общего QR-кода
Если один и тот же секрет сканируется несколькими устройствами:
- все устройства генерируют одинаковые коды;
- невозможно отозвать только одно устройство;
- сложнее вести аудит;
- при утрате одного устройства придётся менять секрет для всех.
Отдельные TOTP-записи управляются независимо.
Проверка настроенных факторов
В меню TFA должны отображаться:
- тип фактора;
- описание;
- дата создания;
- состояние.
Проверьте, что названия позволяют понять, какому устройству принадлежит запись.
TOTP для root@pam
Для:
root@pam
также можно настроить второй фактор.
Это особенно важно, если root-вход через веб-интерфейс остаётся разрешённым.
При этом обязательно сохраните:
- резервный консольный доступ;
- recovery keys;
- отдельную проверенную административную учётную запись.
Настройка для отдельного администратора
Практичная схема:
root@pam — аварийная учётная запись
admin@pve — повседневное администрирование
operator@pve — ограниченное управление VM
TOTP рекомендуется включить для всех пользователей с административными правами.
Realm и обязательная 2FA
В Proxmox VE второй фактор может настраиваться:
- индивидуально для пользователя;
- как требование realm;
- через внешнего провайдера аутентификации.
В этой статье рассматривается только индивидуальный TOTP пользователя.
Обязательная политика для LDAP, AD или OpenID требует отдельной настройки realm.
Проверка TFA через CLI
Показать пользователей:
pveum user list
Проверить конфигурацию доступа:
cat /etc/pve/user.cfg
Конфигурация двухфакторной аутентификации хранится в кластерной конфигурации Proxmox VE.
Не редактируйте её вручную без необходимости.
Проверка файла TFA
На узле может использоваться файл:
/etc/pve/priv/tfa.cfg
Проверьте наличие:
ls -l /etc/pve/priv/tfa.cfg 2>/dev/null
Просмотр:
cat /etc/pve/priv/tfa.cfg
Важно: файл содержит чувствительные данные. Не копируйте его в публичные логи, статьи и обращения в поддержку.
Резервное копирование конфигурации TFA
Конфигурация /etc/pve должна входить в резервную копию настроек Proxmox VE.
Создайте защищённую копию:
mkdir -p /root/proxmox-auth-backup
cp -a /etc/pve/priv/tfa.cfg /root/proxmox-auth-backup/tfa.cfg-$(date +%F-%H%M%S) 2>/dev/null
Ограничьте права:
chmod 600 /root/proxmox-auth-backup/tfa.cfg-*
Храните резервную копию отдельно от единственного узла.
Проверка журнала входов
Последние сообщения аутентификации:
journalctl -u pvedaemon --since today --no-pager
Поиск ошибок:
journalctl --since today |
grep -iE 'authentication failure|failed authentication|tfa|totp'
Не публикуйте журнал без удаления:
- имён пользователей;
- IP-адресов;
- токенов;
- внутренних доменов.
Типичные проблемы
Правильный код не принимается
Проверьте время на узле:
timedatectl
date
Проверьте время на телефоне.
Включите автоматическую синхронизацию времени на мобильном устройстве.
Код успевает смениться во время ввода
Дождитесь появления нового кода и введите его сразу.
Не используйте код, у которого почти закончился интервал действия.
Потерян телефон
Используйте:
- recovery key;
- резервное TOTP-устройство;
- другую административную учётную запись;
- локальную консоль.
После входа удалите потерянный фактор и создайте новый.
Потеряны телефон и recovery keys
Используйте проверенную резервную административную учётную запись.
При полном отсутствии доступа потребуется восстановление через консоль узла и административное удаление TFA.
Аварийные действия следует выполнять только после подтверждения личности владельца системы.
После добавления TOTP вход не запрашивает код
Проверьте:
- под каким пользователем выполняется вход;
- действительно ли фактор сохранён;
- не используется ли API token;
- не осталась ли активная старая сессия;
- настройки realm.
Проверьте вход в приватном окне.
TOTP работает в GUI, но не работает в автоматизации
Для автоматизации используйте API token с ограниченными правами.
Не пытайтесь автоматизировать интерактивный TOTP-код.
Recovery key не принимается повторно
Это ожидаемо: recovery keys являются одноразовыми.
Используйте следующий неиспользованный код.
Удаление потерянного TOTP-устройства
Войдите с помощью другого фактора или recovery key.
Откройте меню TFA.
Выберите потерянное устройство.
Нажмите:
Remove
Подтвердите удаление.
После этого зарегистрируйте новое устройство.
Замена телефона
Безопасный порядок:
- Не удалять старый фактор.
- Добавить новый TOTP отдельной записью.
- Проверить вход с новым устройством.
- Проверить recovery keys.
- Только затем удалить старый фактор.
Перегенерация recovery keys
Если recovery keys могли стать известны постороннему:
- Удалите существующий набор.
- Создайте новый.
- Сохраните его в защищённом месте.
- Проверьте один код.
- Уничтожьте старые копии.
Отключение TOTP
Откройте меню TFA.
Удалите нужную TOTP-запись.
Не удаляйте последний рабочий фактор до проверки альтернативного способа входа.
Для административных пользователей полное отключение 2FA снижает безопасность.
Аварийная учётная запись
Рекомендуется иметь отдельную аварийную учётную запись:
- с сильным уникальным паролем;
- с минимальным использованием;
- с отдельным TOTP;
- с recovery keys в офлайн-хранилище;
- с контролируемым доступом.
Не используйте аварийную учётную запись для повседневной работы.
Безопасный порядок настройки
- Проверить время узла и телефона.
- Убедиться в наличии резервной административной сессии.
- Добавить TOTP.
- Подтвердить код.
- Создать recovery keys.
- Сохранить их в защищённом месте.
- Проверить вход в приватном окне.
- Проверить один recovery key.
- Добавить резервный TOTP при необходимости.
- Только после проверки закрыть исходную сессию.
Быстрый набор проверок
Проверить время:
timedatectl
Показать пользователей:
pveum user list
Проверить журнал:
journalctl --since today |
grep -iE 'authentication|tfa|totp'
Проверить конфигурационный файл:
ls -l /etc/pve/priv/tfa.cfg 2>/dev/null
Итог
После выполнения инструкции:
- для пользователя включён TOTP;
- приложение-аутентификатор привязано к Proxmox VE;
- проверен вход с одноразовым кодом;
- созданы recovery keys;
- рассмотрено добавление резервного устройства;
- показано безопасное удаление потерянного фактора;
- подготовлен порядок аварийного восстановления доступа.
Двухфакторную аутентификацию следует включить для всех учётных записей, имеющих административный доступ к Proxmox VE.