Исправление проблемы "Canonical LXD Authentication failed" в Cockpit
Дата: 2026-01-10
Проблема: "Canonical LXD Authentication failed" / "NetworkError when attempting to fetch resource" в Cockpit
Описание проблемы
При попытке доступа к LXD контейнерам через интерфейс Cockpit появляется ошибка:
- "Canonical LXD Authentication failed"
- "NetworkError when attempting to fetch resource"
Причина
В Ubuntu 24.04 пакет cockpit-lxd был удален из репозиториев. Это означает, что Cockpit не может подключиться к LXD, так как отсутствует плагин для интеграции.
Технические детали
- Cockpit версия: 314 (из репозиториев Ubuntu 24.04)
- LXD версия: 6.6 (установлен через snap)
- Проблема:
cockpit-lxdпакет недоступен в apt репозиториях
Решение
Автоматическое исправление (рекомендуется)
# Перейти в директорию проекта
cd /home/cdto/DENKART
# Запустить скрипт исправления
sudo ./scripts/fix-cockpit-lxd-auth.sh
Скрипт автоматически:
1. Проверит установку LXD и Cockpit
2. Попытается установить cockpit-lxd (если доступен)
3. Проверит права доступа пользователя к LXD
4. Проверит доступность Unix socket
5. Перезапустит Cockpit (если необходимо)
Ручное решение
Вариант 1: Проверка и установка cockpit-lxd (если доступен)
# Обновление списка пакетов
sudo apt update
# Поиск cockpit-lxd
apt-cache search cockpit-lxd
# Если найден, установка
sudo apt install -y cockpit-lxd
# Перезапуск Cockpit
sudo systemctl restart cockpit.socket
Примечание: В Ubuntu 24.04 пакет скорее всего не будет найден.
Вариант 2: Проверка прав доступа к LXD
# Проверка группы пользователя
groups $USER
# Если пользователь не в группе lxd, добавление
sudo usermod -aG lxd $USER
# Применение изменений группы (требуется перелогин)
newgrp lxd
# Или просто перелогиниться
Вариант 3: Использование LXD из командной строки
LXD доступен через команды lxc, даже если Cockpit не может подключиться:
# Список контейнеров
lxc list
# Информация о контейнере
lxc info BBB-CONT22-1
# Выполнение команд в контейнере
lxc exec BBB-CONT22-1 bash
# Управление контейнерами
lxc start BBB-CONT22-1
lxc stop BBB-CONT22-1
lxc restart BBB-CONT22-1
Вариант 4: Использование LXD через HTTPS API
LXD доступен через HTTPS API на порту 8443:
# Проверка доступности API
curl -k https://localhost:8443/1.0
# Использование требует клиентского сертификата
# Для локального доступа рекомендуется использовать Unix socket
Вариант 5: Установка cockpit-lxd из альтернативного источника
ВНИМАНИЕ: Это продвинутый метод и не рекомендуется без понимания последствий.
# Добавление репозитория из Ubuntu 23.10 (НЕ рекомендуется)
# Это может привести к конфликтам зависимостей
# Вместо этого рассмотрите установку из исходников
# или использование альтернативных инструментов управления LXD
Проверка решения
1. Проверка работы LXD из командной строки
# Список контейнеров
lxc list
# Должен показать все контейнеры без ошибок
2. Проверка Cockpit
- Откройте Cockpit:
https://192.168.1.112:9090 - Войдите с учетными данными
- Проверьте раздел LXD (если
cockpit-lxdустановлен) - Если плагин не установлен, контейнеры не будут отображаться в интерфейсе
3. Проверка логов
# Логи Cockpit
sudo journalctl -u cockpit.service -n 50 | grep -i lxd
# Логи LXD
sudo journalctl -u snap.lxd.daemon -n 50
# Логи с ошибками аутентификации
sudo journalctl -u cockpit.service -n 100 | grep -i -E "auth|error|lxd"
Альтернативные решения
Использование командной строки
LXD полностью функционален через командную строку. Все операции можно выполнять через lxc команды:
# Основные команды
lxc list # Список контейнеров
lxc info <name> # Информация о контейнере
lxc exec <name> <command> # Выполнение команды
lxc start/stop/restart <name> # Управление состоянием
lxc snapshot <name> # Создание снимка
lxc config edit <name> # Редактирование конфигурации
Использование LXD Web UI (если доступен)
LXD 6.x может иметь встроенный веб-интерфейс. Проверьте документацию LXD для активации.
Использование альтернативных инструментов
Рассмотрите использование других инструментов управления LXD:
- LXD UI (отдельное приложение)
- Portainer (с поддержкой LXD)
- Custom scripts (собственные скрипты управления)
Известные проблемы
Ubuntu 24.04
В Ubuntu 24.04 пакет cockpit-lxd был удален из основных репозиториев. Это известная проблема, которая затрагивает всех пользователей Ubuntu 24.04.
Статус проблемы:
- Открыта проблема в Ubuntu Bug Tracker
- Рассматривается возможность восстановления пакета
- Временное решение: использование командной строки
Совместимость с snap-installed LXD
Даже если cockpit-lxd будет доступен, он должен быть совместим с snap-установленным LXD (версия 6.6).
Рекомендации
- Используйте командную строку для управления LXD - это наиболее надежный метод
- Создайте собственные скрипты для часто используемых операций
- Следите за обновлениями - пакет может быть добавлен в будущих версиях Ubuntu
- Рассмотрите использование альтернативных инструментов если необходим веб-интерфейс
Связанные файлы
- Скрипт исправления:
/home/cdto/DENKART/scripts/fix-cockpit-lxd-auth.sh - Документация Cockpit:
docs/setup/cockpit-installation.md - Конфигурация LXD:
docs/setup/services-config.md
Дополнительные ресурсы
Статус: Известная проблема Ubuntu 24.04
Временное решение: Использование командной строки LXD
Дата последнего обновления: 2026-01-10