web-dev-qa-db-ja.com

pkexec認証がSSH X11転送をフェイルオーバーするのはなぜですか?

X11転送を使用してUbuntu 18.04コンピューターからヘッドレスLubuntu 18.04コンピューターに接続する。ルート権限を必要としないアプリに最適です:lxterminalleafpadなど。転送されたSudoウィンドウでlxterminalコマンドを実行できます。大丈夫。

しかし、通常synaptic-pkexecのようなアプリケーションはAuthenticationウィンドウをポップアップし、パスワードの入力を要求します。次のように失敗します。

$ 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
Organic Marble

次善のソリューション:

X11フォワーディングでsshingした後、実行します

/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
Organic Marble