web-dev-qa-db-ja.com

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
luminessence

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

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

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

「xauthデータがありません。偽の認証を使用している場合」、セキュリティがオフに設定されていない限り、リモートアプリケーションはローカルサーバーに表示できません。 xauthのセキュリティがなければ、誰でもXセッションをスパイし、Xサーバーにアクセスできる場合は入力を注入できます。構成によっては、ローカルユーザーである必要があります(その場合、シングルユーザーオペレーティングシステムではそれほど問題ではありません)。または、TCPマシンへの接続(つまり、ローカルネットワークにあります。たとえば、パブリックwifiを使用している場合はだれでもかまいません)。以前は機能していたが機能しなくなった場合は、欠落しているセキュリティチェックが最近修正された可能性があります。

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

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