pkexec 身份验证通过 ssh X11 转发失败,为什么?

pkexec 身份验证通过 ssh X11 转发失败,为什么?

使用 X11 转发从 Ubuntu 18.04 计算机连接到无头 Lubuntu 18.04 计算机。它非常适合不需要 root 权限的应用程序:lxterminalleafpad等。我可以在转发的窗口中顺利运行sudo命令。lxterminal

但是,synaptic-pkexec这样的应用程序通常会弹出验证窗口并要求我输入密码,失败,如下所示:

$ synaptic-pkexec
==== AUTHENTICATING FOR com.ubuntu.pkexec.synaptic ===
Authentication is required to run the Synaptic Package Manager
Authenticating as: [my realname],,, ([my username])
Password: 
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized

This incident has been reported.

我提供了正确的密码。

是否有一个设置sshd-config可以控制这一点?我必须进行哪些更改才能使其正常工作?

答案1

次优解决方案:

使用 X11 转发登录后,运行

/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &

之后,synaptic-pkexec效果很好,客户端计算机上弹出身份验证框并接受我的密码。

但是,您必须在退出 ssh 会话之前终止身份验证代理进程,否则它会挂起。

我从这里得到提示:https://github.com/NixOS/nixpkgs/issues/18012但那里说您可以在服务器上启动身份验证代理。这部分对我来说不起作用,我收到一个错误:

Cannot register authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject

虽然这可行,但是有点笨拙。

希望得到更好的答案。

答案2

sudo -E synaptic-pkexec

sudo --preserve-env=HOME synaptic-pkexec

对我来说都有效。

相关内容