web-dev-qa-db-ja.com

X11の転送が機能しない-エラー:ディスプレイを開けません:localhost:11.0

LM 17 Xfce OpenSSH_6.6.1p1 Ubuntu-2ubuntu2

どこにでもグーグルするにもかかわらず、私はこれを機能させることができないようです。このエラーが発生し続けます。

$ xlogo
Error: Can't open display: localhost:10.0

デバッグとsshdの通常のインスタンスでx11を転送するために両方のタイプの接続を試しました

ssh -Y remotehost -p 2500  
ssh -X remotehost -p 2500 

サーバー構成は、x11転送を許可します。
デバッグで新しいsshdインスタンスを使用してテストしている接続中にこれが表示されます。私が知ることができるデバッグの唯一の関連部分:

debug1: channel 1: new [X11 inet listener]
debug1: channel 2: new [X11 inet listener]  

DISPLAYが設定されている

$ echo $DISPLAY
localhost:10.0

ユーザーはSudoアクセスを持つ標準ユーザーであり、それ以外は問題ありません(すべてがcliで正常に機能します)。

さらに、私は多重接続を使用していません&
自分に接続するときにx11転送を使用できます(ssh -X 127.0.0.1)。
接続中にssh -vを使用しても、エラーが表示されたときに役立つフィードバックはありません。
私が試すことができないものを逃した場合は、お知らせください。私は困惑しています。

編集:

$ netstat -l | grep 6010

tcp        0      0 ip6-localhost:6010      *:*                 LISTEN     
tcp6       0      0 ip6-localhost:6010      [::]:*              LISTEN  

また、サーバーでssh -X 127.0.0.1を実行すると、次のように出力されます。

Warning: No xauth data; using fake authentication data for X11 forwarding.

xauthリスト。この個人情報は心配する必要がありますか?私が何を投稿しているか本当にわかりません。

remotehostname/unix:14  MIT-MAGIC-COOKIE-1  70f068c8dd2431088bcxxxxxxxxx
remotehostname/unix:13  MIT-MAGIC-COOKIE-1  be500209ccb9fb769eexxxxxxxxx
remotehostname/unix:12  MIT-MAGIC-COOKIE-1  01fc30e4887501602ebxxxxxxxxx
remotehostname/unix:11  MIT-MAGIC-COOKIE-1  d04f849725f71070095xxxxxxxxx
remotehostname/unix:10  MIT-MAGIC-COOKIE-1  42e99c898ef9aa295b4xxxxxxxxx

/ etc/hostsファイルを変更して、localhostが最初になるようにしました。追加のメッセージが表示されます。私も再起動して、それが役立つかどうかを確認しました。

127.0.0.1 localhost remotehostname localhost.localdomain
::1 localhost ip6-localhost ip6-loopback


X11 connection rejected because of wrong authentication.
Error: Can't open display: localhost:10.0

〜/ .Xauthorityファイルを削除しましたが、自動的に作成されないことに気付きました。私はRaspberry Piでこれをテストし、警告を発してから〜/ .Xauthorityファイルを作成しました。この動作は、リモートホストでは発生しません。ただし、それを作成するための権限は問題ありません。

4
Miati

$DISPLAYが正しく設定されており、~/.Xauthorityファイルが作成されていないため、X11転送が考慮されているにもかかわらず、xauthが実行されていない可能性があります。理由の1つは、パスに含まれていないことです(Mac OS Xではこの問題がありましたが、Linuxではこれは奇妙です)。 ~/.ssh/rcファイルを作成して、自分で作業を行うこともできます。たとえば、私は次のとおりです。

if [ -n "$DISPLAY" ]; then
  echo "DISPLAY: $DISPLAY" >&2
  if read proto cookie; then
    if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]; then
      echo add unix:`echo $DISPLAY | cut -c11-` $proto $cookie
    else
      echo add $DISPLAY $proto $cookie
    fi | $HOME/.ssh/xauth.wrapper -q -
  fi
fi

ここで、~/.ssh/xauth.wrapper~/.Xauthorityファイルのロックを実装するxauthのラッパーです。ただし、念のため、xauthまたはxauthへの完全パス名だけを使用できます。これは、sshd(8)のマニュアルページで説明されているものとよく似ています(「SSHRC」のセクションを参照)。 。

間違えないように注意してください。

2
vinc17