私はラップトップから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フォワーディングを機能させるために、誰かが私に何か考えたことはありますか?
(少なくとも私の状況では)ようやく答えが見つかりました!問題は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がホームディレクトリにキーを作成するのをブロックしていることもわかりました。
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を再起動することなく、魅力のように機能しました。
私もこれにぶつかった。しかし、私の場合は、数日前にIPv6サポートを削除したためです。次に this thread にぶつかり、sshdがIPv4のみを使用するようにする方法を説明しました。
これは私がやった方法です、これを追加してください:
AddressFamily inet
ssh_config-file(Ubuntu/etc/ssh/sshd_config)に追加し、sshdにその設定をリロードさせます(kill -SIGHUP pid-of-sshd)。
上記の@Chlの回答とは別に、壊れた〜/ .Xauthorityファイルもありました。
なんらかの理由で、私のホームディレクトリの下でもrootが所有していた。そのため、Sudo -s
を実行してから削除する必要がありました。
次に、touch ~/.Xauthority
を使用して再作成しました
その後、X転送はUbuntu 14.04で機能しました。
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