通过SSH从Fedora 3服务器到Windows Vista客户端的X11隧道无法正常工作

好的,我已经尝试过使用Xming和PuTTY,以及Cygwin / X和Cygwin ssh,但它不工作。

我已经能够在本地运行X应用程序,所以它不是客户端X的问题。

我已经连接到服务器使用

ssh -X user@server 

并以此结束:

 local-user@client: ~$ ssh -X user@server user@server's password: Last login: Sun Jul 19 15:26:46 2009 from 192.168.100.147 [user@server ~]$ xclock & [1] 27770 [user@server ~]$ Error: Can't open display: localhost:10.0 [1]+ Exit 1 xclock [user@server ~]$ [user@server ~]$ 

这是我的sshd_config的相关片段

 #AllowTcpForwarding yes #GatewayPorts no #X11Forwarding no X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes 

我似乎无法在客户端findssh_config。 / etc / ssh不存在。

您是否修改了您的PuTTY设置; input服务器名称或IP地址后,更改SSH – > X11设置:选中“启用X11转发”框,然后在“X显示位置”中键入localhost:0。 不要忘记回到“会话”并保存您的更改。

重新运行ssh,但也带有-v标志。 有可能是远程端的sshd找不到xauth来设置您的mit magic cookie用于Xauthentication。

我不熟悉Windows X服务器。 但是,以下两点对于任何X服务器都是通用的。

  1. 我遇到了X服务器configuration为不侦听TCP连接的情况。 在这种情况下,ssh不能转发X连接。 你能检查一下吗?
    端口6000在运行X服务器的机器上打开。 (在Linux中,这可以通过

    sudo netstat -antp | grep 6000

    我不知道它是否也在Cygwin中工作?)

  2. 也许X服务器拒绝连接,除非你说它是安全的。 (在Linux / Unix X11服务器上可以这样做

    xhost +主机名

    其中“主机名”是您希望允许访问您的X服务器的主机名。)

  3. 前面提到的使用-v(也许多次)ssh是值得钻石发现什么是错的。

Fedora 11修复

sudo vim /etc/gdm/custom.conf

你的文件应该有以下几行(可能有其他行,所以留下来)

[XDMCP]

[security] DisallowTCP = false

然后重新启动X.它的工作原理…你可能需要嘲弄你的防火墙

您可能要使用-Y而不是-X 。 基本上这build立了信任正确(细节从下面的ssh手册页)。

-X启用X11转发。 这也可以在每个主机的基础上在configuration文件中指定。

应谨慎使用X11转发。 能够绕过远程主机(对于用户的X授权数据库)的文件权限的用户可以通过转发连接访问本地X11显示器。 攻击者随后可以执行诸如按键监控之类的活动。

出于这个原因,X11转发默认受到X11 SECURITY扩展限制。 有关更多信息,请参阅ssh-y选项和ssh_config(5)中的ForwardX11Trusted指令。

-Y启用可信的X11转发。 可信X11转发不受X11安全扩展控制。

你可能想看看使用Xvnc。 在Fedora上,你可以select启动几个你可以随时轻松连接和分离的X桌面。 一个缺点可能是你的X桌面一直在运行。 如果绝对性能是一个问题,那么再考虑一下(但是,嘿,如果它闲置一段时间,内核将交换到磁盘)。 然而,一个很好的好处是,你可以开始一个任务(在GNOME应用程序,或在terminal),并断开,而它仍然在运行。 您可以随时连接任何vnc查看器(使用portforwarding增加安全性)来监视它的进度。

或者…只是使用NoMachine的软件,它总是通过SSH使用压缩的X. 只有一个RPM安装。

如果您的本地X服务器正常工作,并监听本地networking套接字(应在端口6000上进行检查!),您可以手动转发连接。

我在这里假设服务器上没有运行X服务器。

从服务器转发本地端口6000(以便SSH监听服务器上的端口6000)到本地端口6000.连接完成后:

导出DISPLAY =:0
 XCLOCK

您应该从本地X服务器上显示的服务器获取xclock

我假设问题是“X11隧道通过SSH Windows Vista客户端的Fedora 3服务器无法正常工作”。 (互换)

在这种情况下,看看我的答案,甚至其他人从Windows PC到Ubuntu 9.04的远程桌面的答案。