X11 転送と .Xauthority ファイル

X11 転送と .Xauthority ファイル

過去数週間、この質問に対する答えを何度も探しましたが、私が見つけた解決策はどれもうまくいきませんでした。両方の場所にある .Xauthority ファイルを削除してみました。私は Cygwin X を使用して別のコンピューターにアクセスしています。最近、X11 転送が機能していません。ローカル マシンで X サーバーを起動した後:

[local]$ export DISPLAY=0.0    
[local]$ ssh -XY user@remotelocation
Warning: No xauth data; using fake authentication data for X11 forwarding.

これが役に立つかどうかはわかりませんが、

[remote]$ xauth list
location/unix:10 MIT-MAGIC-COOKIE-1 304eb389beb66bf44ae6bc1821bdf472

最後に、ここで問題が発生します。

[remote]$ gedit file &
X11 connection refused because of wrong authentication.

常に「xauth データがありません。偽の認証を使用しています」という警告が表示されていましたが、最近になってその結果として X11 接続が拒否されるようになりました。何か提案はありますか?

答え1

両方の場所でファイルを削除してみました.Xauthority

その前に何か問題があったのかもしれませんが、その後は絶対に成功しません。このアドバイスをどこかで見つけた場合、それが自分には当てはまらない非常に異常な状況について言及したものでなければ、そのソースをブラックリストに登録してください。.Xauthorityクライアントでファイルを復元してください。

ファイルを紛失した場合は.Xauthority、実行中のプロセスまたは一時ファイルから復元できる可能性があります。 Cygwin でこれを行う方法はわかりません。 どこでも機能する簡単な方法は、X サーバーを終了して新しいサーバーを起動することです。

「xauth データがありません。偽の認証を使用しています」というメッセージが表示される場合、セキュリティをオフに設定していない限り、リモート アプリケーションはローカル サーバーに表示できません。xauth のセキュリティがなければ、X サーバーにアクセスできる人なら誰でも X セッションをスパイして入力を挿入できます。設定によっては、ローカル ユーザーである必要がある場合 (その場合は、シングル ユーザーのオペレーティング システムではそれほど悪くありません) もあれば、マシンへの TCP 接続を開くだけで十分な場合もあります (つまり、ローカル ネットワーク内にいる場合で、たとえば公共の Wi-Fi を使用している場合は誰でも可能です)。以前は機能していたのに機能しなくなった場合は、不足していたセキュリティ チェックが最近修正されたことが原因である可能性があります。

有効なファイルを作成したら.Xauthority、シェルを開いて、 などのローカル アプリケーションを実行できるかどうかを確認しますgedit。同じシェルから、 を実行しssh -X user@remotelocation、X アプリケーションを実行してみてください。これで正常に動作するか、エラー メッセージが表示されます。エラー メッセージを読んで、ヘルプが必要な場合はコピー アンド ペーストしてください。動作しない場合は、 を実行しますssh -vv -X user@remotelocation。追加のデバッグ出力に、動作しない理由に関する情報が表示されます。

サーバーがリモート X 接続を許可していることを確認してください。OpenSSH では、ファイル/etc/sshd_config(または/etc/ssh/sshd_configディストリビューションに応じて他の場所) に が含まれている必要がありますX11Forwarding yes

関連情報