ssh -Y後su -する方法それでもXアプリケーションをローカルコンピュータに渡します。

ssh -Y後su -する方法それでもXアプリケーションをローカルコンピュータに渡します。

リモートで実行されているLinuxアプリケーションを「インポート」(つまり、ローカルに描画)するのは非常に簡単です。ssh -Yリモートシステムに移動してアプリケーションを実行すると、そのアプリケーションはローカルデスクトップに確実に表示されます。

ただし、suリモートコンピュータの他のユーザーにSSH経由で接続すると、Xアプリケーションをローカルコンピュータに渡すことはできません。それは言うwrong authentication

このイベントをどのように処理するのかわかりません。これはまだecho $DISPLAY本当ですが(ssh -Y初期ログインによって設定されます)、セッションCookieはsshにログインしている初期ユーザーに対してのみ設定できます。

この問題をどのように克服し、他のユーザーが実行している他のXアプリケーションに渡すことができますか?

私が直接sshを使用しない理由は、そのユーザーにsshを送信したくないからです(サーバーでsshを試みるボットの簡単なターゲットである「virtualbox」ユーザーです)...

ベストアンサー1

X11転送が有効になっている削除済みシステムにsshを接続すると、サーバーのsshはユーザー.Xauthorityのホームディレクトリにファイルを作成します。 sshはTCPソケットからX11を受信するので、誰でも接続できます。誰でも接続できるため、他の人がモニターを使用できないようにする方法が必要です。このファイルを使用して行われます.Xauthority。このファイルには、クライアントの接続が許可されていることを確認するためにX11サーバーに提供される「cookie」が含まれています。

すべての詳細をスキップし、ファイルをターゲット.Xauthorityユーザーのホームディレクトリにコピーして所有権を付与すると、リンクできます。

おすすめ記事