1

TL; DR: я, кажется, слишком глуп, чтобы использовать аутентификацию PolKit поверх ssh?


У меня есть две машины (на которых запущена Fedora) с логином открытого ключа ssh для пользователя с правами администратора (группы, например, wheel , adm).

При локальном входе в систему на «сервере» я могу запустить virt-manager для доступа к различным виртуальным машинам, которые существуют на нем. Однако при подключении через сервер ssh -X -C я обнаружил, что virt-manager сразу отказывается подключаться к виртуальным машинам, говоря, что:

Ошибка подключения к диспетчеру виртуальных машин (на сервере)

Невозможно подключиться к libvirt.

аутентификация не удалась: polkit: polkit\56retains_authorization_after_challenge = 1 Авторизация требует аутентификации, но агент недоступен.

Я попробовал наивный подход запуска этого так:

 virt-manager & pkttyagent -p $(pgrep virt-manager)

... но все, что мне осталось, это:

  • pkttyagent молчит;
  • virt-manager завершает работу, как только я закрываю диалоговое окно с ошибкой.

Может кто-нибудь предложить способ, возможно, зарегистрировать pkttyagent до запуска virt-manager , или же зарегистрировать другой агент аутентификации через ssh -X?

→ Следует отметить, что запуск virt-manager от имени root удаленно даже не вариант (эффективно), потому что у меня есть виртуальные машины, которые работают под моей собственной учетной записью пользователя (режим пользователя qemu , доступный через Gnome Boxes), а также для всей системы и определения локального пользователя не доступны для пользователя root . Даже если бы я не боялся в первую очередь запустить приложение X в качестве пользователя root

2 ответа2

1

Вы пробовали запустить графический агент? Например, lxpolkit , polkit-gnome-authentication-agent-1 или polkit-kde-authentication-agent-1 .

В качестве альтернативы вы могли бы написать правило polkit, которое бы убрало требование аутентификации либо для конкретного пользователя, либо для членов 'wheel'.


(Обратите внимание, что "adm" обычно не означает "административные привилегии"; это означает доступ к системным журналам и учетным данным.)

1

Эта команда работала в моей системе:

virt-manager ; pkttyagent --process $(pgrep virt-manager)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .