pkttyagent 似乎不适用于通过 ssh -X 的 virt-manager?

pkttyagent 似乎不适用于通过 ssh -X 的 virt-manager?

TL;DR:我似乎太笨了,无法通过 ssh 使用 PolKit 身份验证?


我有两台机器(运行 Fedora),使用 ssh 公钥登录到具有管理权限的用户(组例如wheeladm

在“服务器”机器上本地登录时,我可以运行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不是一个选项(实际上),因为我有在自己的用户帐户下运行的 VM(qemu用户模式,可通过 Gnome Boxes 访问)以及系统范围的 VM,并且无法通过访问本地用户定义。即使我一开始root并不害怕运行 X 应用程序……root

答案1

该命令在我的系统上运行正常:

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

答案2

您是否尝试过运行图形代理?例如,lxpolkitpolkit-gnome-authentication-agent-1polkit-kde-authentication-agent-1

或者,您可以编写一个 polkit 规则来删除针对特定用户或“wheel”成员的身份验证要求。


(请注意,“adm”不是通常表示“管理权限”;它意味着访问系统日志和会计数据。

相关内容