Mac OSX Mavericks X11“连接被拒绝”

Mac OSX Mavericks X11“连接被拒绝”

概括

当我在 MacBook 上的 Ubuntu 虚拟机中时,我可以通过 SSH 从 MacBook 进入远程 Linux 机器,但不能从 OSX 进入。我寻求有关如何让 OSX 与 X11 转发配合使用的指导,并怀疑这是 OSX Mavericks 的问题。在我升级之前,它曾经在 Mountain Lion 上运行,所以我认为我错过了一步。

请注意,这不是升级到 OS X Mavericks 后 X11/XQuartz 不会自动启动吗?就像我格式化并全新安装 Mavericks 一样

X11 服务器 - Ubuntu 桌面

# This is the /etc/ssh/sshd_config file, trimmed down

# Relevant lines:
X11Forwarding yes
X11UseLocalhost yes
X11DisplayOffset 10

# Maybe relevant:
RSAAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile  %h/.ssh/authorized_keys
PasswordAuthentication yes # I didn't want to copy the rsa key into ubuntu VM so I accessed the server by password authentication rather than by rsa key.
TCPKeepAlive yes

我可以毫无问题地 ssh 进入这台机器。

X11 客户端 - OSX Mavericks(不工作)

我安装了石英2.7.5,不确定我在 OSX Mountain Lion 上使用的是哪个版本。

# edited /etc/ssh_config to prevent timeout issues

ForwardX11Timeout 596h

在 .ssh/config 文件中我有

Host remotegossamer
  User joe
  port 22
  Hostname 55.55.55.55 # (edited.. I use no-ip as I have a dynamic ip)
  ForwardX11 yes
  ForwardX11Trusted yes # This gets rid of the warning: "Warning: untrusted X11 forwarding setup failed: xauth key data not generated"

当我 ssh 登录时收到警告

> ssh remotegossamer
Warning: No xauth data; using fake authentication data for X11 forwarding.
Welcome to Ubuntu 13.10 (GNU/Linux 3.11.0-15-generic x86_64)
...

当我尝试打开 X11 窗口时失败

joe@gossammer:~$ firefox&
[1] 12195
joe@gossammer:~$ connect 127.0.0.1 port 6010: Connection refused

(process:12195): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
connect 127.0.0.1 port 6010: Connection refused
connect 127.0.0.1 port 6010: Connection refused
Error: cannot open display: localhost:10.0
^C
[1]+  Exit 1                  firefox

Glib-CRITICAL 是 Firefox 的一个错误,它存在于 ubuntu 和 osx 客户端中,这是服务器的问题,可以忽略。

的结果echo $DISPLAYlocalhost:10.0localhost:11.0取决于我是先使用当前机器还是第二台机器 ssh 登录。断开两台机器的连接并以相反的顺序 ssh 登录无效;ubuntu 客户端在 10 和 11 上成功,OSX 在两者上都失败。

我读了这篇文章,端口 6010 是正确的,因为它从端口 6000 开始并以 10 为增量计数,如服务器的 sshd_config 中提到的那样。

所以我很困惑为什么 OSX 无法连接......

我应该注意,当我使用 ssh 从 Mountain Lion 进入时,XQuartz 应用程序会启动 - 现在它不会

X11 客户端 - Ubuntu 桌面(在 OSX Mavericks 上的虚拟机中)

要将 ubuntu VM 配置为通过 ssh 进入服务器:

# I edited the /etc/ssh/ssh_config to have:
Host *
    ForwardAgent yes
    ForwardX11 yes
    ForwardX11Trusted yes

然后我使用 ssh 登录:

ssh -Y [email protected]

并且没有收到任何警告。然后我做了:

> firefox&

它在 X11 中打开,很好,所以这是 OSX 的问题/我设置 OSX 的方式的问题

所以

我在 OSX Mavericks 上设置 X11 时是否遗漏了什么?

答案1

尝试以下命令(一旦您登录 OS X):

export XAUTHORITY=/home/your_name/.Xauthority

然后尝试一些无害的 X 应用程序,例如xeyes。如果它有效,您可以将该语句放入.bashrc文件中。

相关内容