web-dev-qa-db-ja.com

ssh X11転送が機能しない

私はラップトップからX11ポート転送を機能させようとしています。なぜ動かないのか分かりません。

Xtermを実行しようとすると、次のメッセージが表示されます。

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

これが関連しているかどうかはわかりませんが、ログインすると次のメッセージが表示されます。

/usr/bin/xauth:  timeout in locking authority file /home/sphillips/.Xauthority

私のラップトップのローカルユーザーがskpであり、このサーバーのユーザー名がsphillipsであることが問題であるかどうか疑問に思いました。同じskpログインを使用する他のコンピューターでX11転送を機能させることができました。

また、X11ポート転送は、XmingとPuTTYを使用するWindowsマシンから同じサーバーに機能します。 DISPLAY変数をIPアドレスに手動で設定して0.0を表示する必要がありますが、機能します。

セキュリティの問題を回避するために、自分のマシンでxhost +を実行しました。それでもうまくいきませんでした。

サーバーで、構成を確認します。

$ Sudo grep X11Forwarding /etc/ssh/sshd_config
#X11Forwarding no
X11Forwarding yes
#   X11Forwarding no

そして私のマシンでも:

$ Sudo grep X11Forwarding /etc/ssh/sshd_config
[Sudo] password for skp: 
#X11Forwarding no
X11Forwarding yes
#   X11Forwarding no

私のサーバーはRedHat Enterprise Linux 6で、私のラップトップはFedora 15です。

私のラップトップからSSH X11フォワーディングを機能させるために、誰かが私に何か考えたことはありますか?

14
digitaleagle

(少なくとも私の状況では)ようやく答えが見つかりました!問題はSELinuxでした。 SELinuxをオフにしたところ、問題なく動作しました。

すべての悲惨な詳細に興味がある場合は、 私のブログ で読むことができますが、関連する事実をここで詳しく説明しましょう...

リモートマシンで、dmesgを使用してログメッセージを表示しました。

dmesg | tail

次のようなメッセージが多数見つかりました。

type=1400 audit(1332520527.110:51337): avc: denied { read } for pid=25240 comm="sshd" name="authorized_keys" dev=dm-5 ino=167 scontext=unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file

次のコマンドでSELinuxのステータスを確認できます。

$ sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: permissive
Policy version: 24
Policy from config file: targeted

次のコマンドでパーミッシブモードに切り替えることができます。

setenforce 0

SELinuxの詳細については、 Red Hatのガイドが役立つ を見つけました。また、他のSSHの問題については、ロギングを手助けするために Davidのブログ が役立ちました。

私にとって、その後、私のX11転送は問題なく動作し始めました。

SELinuxは他のいくつかの異なるものを妨げていました。キー認証を機能させるために必要なファイルを作成できませんでした。また、ssh-keygenがホームディレクトリにキーを作成するのをブロックしていることもわかりました。

13
digitaleagle

Debian OpenVZコンテナでも同じ問題が発生しました。この問題は、「localhost」が127.0.0.1ではなくLAN IPに影響を与えた/ etc/hostsファイルにあるようです。

前 :

192.168.0.15  dagi dagi.domain.net localhost localhost.localdomain

後:

192.168.0.15  dagi dagi.domain.net
127.0.0.1     localhost localhost.localdomain

その後、ssh -Xおよびssh -Yは、sshdを再起動することなく、魅力のように機能しました。

2
Chl

私もこれにぶつかった。しかし、私の場合は、数日前にIPv6サポートを削除したためです。次に this thread にぶつかり、sshdがIPv4のみを使用するようにする方法を説明しました。

これは私がやった方法です、これを追加してください:

AddressFamily inet

ssh_config-file(Ubuntu/etc/ssh/sshd_config)に追加し、sshdにその設定をリロードさせます(kill -SIGHUP pid-of-sshd)。

2
gkephorus

上記の@Chlの回答とは別に、壊れた〜/ .Xauthorityファイルもありました。

なんらかの理由で、私のホームディレクトリの下でもrootが所有していた。そのため、Sudo -sを実行してから削除する必要がありました。

次に、touch ~/.Xauthorityを使用して再作成しました

その後、X転送はUbuntu 14.04で機能しました。

1
Deesbek
Sudo grep X11Forwarding /etc/ssh/sshd_config

X11Forwarding yes 
#sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: permissive
Policy version: 24
Policy from config file: targeted
#You can turn it to permissive mode with this command:
#setenforce 0
0
nagaraju