AmneziaWG: Ошибка Server API authentication token expired в приложении Amnezia
- При попытке подключения или обновления конфигурации клиент выдает ошибку
Server API authentication token expired. - Панель управления Amnezia App теряет статус синхронизации с VPS.
- Невозможно добавить новые устройства или изменить параметры обфускации (Jc, Jmin, Jmax).
- API daemon на сервере возвращает HTTP статус
401 Unauthorizedв логах контейнера.
1. Проверка состояния управляющего контейнера Amnezia на сервере
Подключитесь к VPS по SSH и проверьте статус Docker-контейнеров:
docker ps -a | grep -E "amnezia|awg"2. Проверка системного времени на сервере и клиенте
Рассинхронизация времени свыше 60 секунд делает токены JWT недействительными:
timedatectl status
# Принудительная синхронизация через Chrony/NTP:
systemctl restart chronyd || systemctl restart systemd-timesyncd3. Очистка кэша сессии и перевыпуск токена в Amnezia App
- В приложении Amnezia перейдите в Настройки -> Серверы.
- Выберите проблемный сервер, нажмите Очистить кэш авторизации.
- Если кнопка недоступна, откройте настройки протокола AmneziaWG и нажмите Переустановить API контейнер.
4. Ручной перезапуск сервиса управления на VPS
docker restart amnezia-api || docker restart amnezia-awg
docker logs --tail 50 amnezia-api5. Полная перегенерация конфигурации при повреждении ключа
Если токен был отозван после смены SSH-пароля сервера, выполните повторный импорт бэкапа конфигурации через меню Amnezia App (Поделиться подключением -> Экспорт .vpn).
Частые вопросы (FAQ)
Почему истекает токен API, если VPN-туннель продолжает работать?
Сам туннель AmneziaWG работает на уровне ядра или WireGuard-бинарника через постоянные криптографические ключи, а токен API управляет только контейнером менеджмента (добавление пиров, смена портов). Поэтому трафик может идти, но управление сервером блокируется.
Помогает ли смена пароля SSH при ошибке Auth Token Expired?
Смена пароля SSH без обновления данных в клиенте Amnezia инвалидирует доступ приложения к управляющему API сервера, вызывая ошибку 401/Expired.
Где хранятся токены сессии на стороне клиента в Linux/Windows?
В Windows токены хранятся в зашифрованном виде в %APPDATA%\AmneziaVPN\config.ini, в Linux — в ~/.config/AmneziaVPN/AmneziaVPN.conf.
Что делать, если контейнер amnezia-api находится в статусе Restarting?
Проверьте свободное место на сервере командой df -h и просмотрите ошибки запуска: docker logs amnezia-api. Частая причина — повреждение файла базы данных SQLite внутри контейнера.