20

使用 X11Forwarding 访问 firefox 时出现错误。

[root@station2 ~]# firefox
KiTTY X11 proxy: wrong authorisation protocol attemptedKiTTY X11 proxy: wrong authorisation protocol attemptedError: cannot open display: localhost:10.0

设置以下值:/etc/ssh/sshd_config

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

**安装包**

#yum install xorg-x11-xauth
#yum -y install xauth

[root@station2 .ssh]# echo $DISPLAY
localhost:10.0

#mkxauth -c
adding key for station2.example.com to /root/.Xauthority ... done
4

3 回答 3

56
export XAUTHORITY=$HOME/.Xauthority

这个修复对我有用

于 2019-06-19T06:34:19.377 回答
9

(通过搜索引擎)很难(甚至不可能)找到可能导致该错误消息的场景。

初步说明:这个答案的主题不是讨论在远程、无显示的网络服务器上使用图形桌面作为 root 是否存在安全风险或是否值得推荐。

设想:

  • 远程 Internet 连接的 Linux 服务器 S 已将域名 example.com 分配给它的公共 IP4 地址 192.0.2.1。
  • S 上的 /etc/hostname 文件包含单行example.
  • S 上的 /etc/hosts 文件包含127.0.0.1 localhost example.com example.
  • 对 S 的(远程)ssh 访问是通过(sshd-)配置(在 S 上)通过 DenyUsers root/etc/ssh/sshd_config 中的行禁止 root 访问,但允许 dummy user访问user1。从客户端计算机 C 使用 ssh 参数-X-Y以用户身份建立到 S的 ssh 连接user1

然后,在user1拥有的S上的远程终端中,如果尝试以root身份执行任何与X11相关的命令,可能是由

su,然后尝试启动X11桌面环境

或者,在具体情况下执行包含的脚本

#!/bin/bash
su --preserve-environment -c "xfce4-session &" root

错误信息

由于身份验证错误,X11 连接被拒绝。

是输出,任何 X11 相关程序的启动都失败。root 环境的 DISPLAY 变量包含

示例.com:10.0

然后。

该问题的一种解决方案是,在这种特殊情况下,修改该行

127.0.0.1 localhost example.com example

在 /etc/hosts 中

127.0.0.1 localhost
于 2015-06-26T10:05:21.937 回答
3

解决方案:使用您正在 SSH 的同一用户运行应用程序。

我在使用 X11 时也遇到过这样的错误。

我的问题的根源是我使用自己的用户名(不是root)使用SSH。

然后,一旦登录,我厌倦了在执行“su”或执行“sudo”时使用 X11 运行东西,问题在于 SSH 会话是使用您自己的用户名配置的 - 例如:Raj,但随后您切换到用户 root不是 X11 会话的一部分。

因此,您应该做的只是尝试使用您启动 X11 会话的同一用户运行应用程序(在您的情况下为 firefox)。

希望这可以帮助。

故事。

于 2014-11-07T13:08:47.593 回答