2011-11-16 7 views
13

私はラップトップからX11ポートフォワーディングを取得しようとしています。なぜそれがうまくいかないのか分かりません。ssh 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のエンタープライズLinuxの6で、私のラップトップは、Fedoraの15

です

私のラップトップからSSH X11転送を利用しようと思っている人は、誰も私に何か考えてもらえますか?

+0

私はこれのためにtumbleweedバッジを手に入れました!それは悪いことかいいことなのでしょうか?他に何ができるか考えてみたいです。 – digitaleagle

答えて

2

私は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 -Xssh -YでもSSHDを再起動せずに、魔法のように働きました。

+0

おかげでチー - それは良いヒントです。私はその問題を抱えている。私のラップトップの私の/ etc/hostsはホストを127.0.0.1に指しています。しかし、私はそれを変更し、それはまだ異なっていませんでした。私は実際にすべての3つのIPアドレスを試しました。ハードIP、無線IP、VPN(tun0-00)を試しました。私はまだ同じ結果を得る。 – digitaleagle

+0

Thnks Chi - これはちょうど私に多くの時間を節約しました。 – jhilmer

12

私はようやく答えを見つけました(少なくとも私の状況では)!問題はSELinuxでした。私はSELinuxを無効にし、問題なく動作しました。

詳細については、my blogで読むことができますが、関連する詳細をここで詳しく説明します...リモートマシン上

、私はログメッセージを表示するためには、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's guide helpfulが見つかりました。また、他のSSHの問題については、私はDavid's blogが役立つためにロギングを取得するのに役立つことがわかりました。

その後、私のX11フォワーディングは問題なく動作し始めました。

SELinuxは、いくつかの異なることを防止していました。主要な認証作業を行うために必要なファイルを作成できませんでした。私はまた、ssh-keygenがホームディレクトリにキーを作成するのをブロックしていることも発見しました。

0
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 
1

上記の@Chlの回答以外にも、〜/ .Xauthorityファイルが壊れています。

何らかの理由で、私のホームディレクトリ下でもrootによって所有されていました。だから私はsudo -sにして、それを削除していた。そのXフォワーディングがUbuntuの14.04の下で、私のために働いた後、次に

touch ~/.Xauthority

でそれを再作成しました。

+0

同様に、私は '〜/ .Xauthority'ファイルを*持っていなかったので、それを作成すると(空)問題が解決しました。 –

2

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

これは、私はそれをやった方法です。この追加:(Ubuntuのは、/ etc/ssh/sshd_configに)あなたはssh_configファイルに

AddressFamily inet 

をし、sshdが(-SIGHUP PID・オブを殺し、その設定をリロードしますsshd)。

+0

また、Google Compute Engineの最新のUbuntuブートディスクイメージには、Puttyでsshを実行しようとするとこの行が必要です。私は1つの就業時間をこれを考え出して過ごしました。 http://www.straightrunning.com/XmingNotes/trouble.php –

+0

これは 'ssh'でテストできますcli args' -o "AddressFamily inet" ' – danodonovan

関連する問題