首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ssh X11转发不起作用

ssh X11转发不起作用
EN

Stack Overflow用户
提问于 2011-11-17 00:19:57
回答 5查看 53.8K关注 0票数 14

我一直在尝试让X11端口转发在我的笔记本电脑上工作。我不明白为什么它不能工作。

当我尝试运行xterm时收到以下消息:

代码语言:javascript
复制
X11 connection rejected because of wrong authentication.
xterm Xt error: Can't open display: localhost:10.0

我不知道这是否相关,但当我登录时,我会收到以下消息:

代码语言:javascript
复制
/usr/bin/xauth:  timeout in locking authority file /home/sphillips/.Xauthority

我想知道问题是不是我笔记本电脑上的本地用户是skp,而这台服务器上的用户名是sphillips。我已经能够让X11转发与我的其他计算机使用相同的skp登录。

此外,X11端口从使用Xming和Putty的Windows机转发到同一服务器。我必须手动将DISPLAY变量配置为IP地址和display 0.0,但它是有效的。

我在我的机器上运行了一个xhost +,试图绕过任何安全问题。这仍然不起作用。

在服务器上,我检查配置:

代码语言:javascript
复制
$ sudo grep X11Forwarding /etc/ssh/sshd_config
#X11Forwarding no
X11Forwarding yes
#   X11Forwarding no

在我的机器上也是这样:

代码语言:javascript
复制
$ sudo grep X11Forwarding /etc/ssh/sshd_config
[sudo] password for skp: 
#X11Forwarding no
X11Forwarding yes
#   X11Forwarding no

我的服务器是Linux6,我的笔记本电脑是RedHat 15。

谁能给我一些想法,尝试让SSH X11转发在我的笔记本电脑上工作?

EN

回答 5

Stack Overflow用户

发布于 2012-03-26 10:40:26

我终于找到了答案(至少对我的情况来说是这样)!问题出在SELinux上。我关闭了SELinux,它工作起来没有任何问题。

如果你对所有血淋淋的细节感兴趣,你可以在my blog上读到,但让我在这里详细说明相关的事实……

在远程机器上,我使用dmesg查看日志消息:

代码语言:javascript
复制
dmesg | tail

我发现了很多这样的消息:

代码语言:javascript
复制
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的状态:

代码语言:javascript
复制
$ sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: permissive
Policy version: 24
Policy from config file: targeted

您可以使用以下命令将其转换为允许模式:

代码语言:javascript
复制
setenforce 0

有关SELinux的更多信息,我找到了Red Hat's guide helpful。此外,对于其他SSH问题,我发现David's blog有助于获得日志记录的帮助。

对我来说,在那之后,我的X11转发开始没有问题了。

SELinux正在阻止其他几种不同的事情。它无法创建使密钥身份验证工作所需的文件。我还发现它阻止了ssh-keygen在home目录中创建密钥。

票数 13
EN

Stack Overflow用户

发布于 2012-01-25 22:25:40

我在Debian容器上遇到了同样的问题,问题似乎来自我的/etc/ OpenVZ文件,其中"localhost“受到局域网IP的影响,而不是127.0.0.1。

之前:

代码语言:javascript
复制
192.168.0.15  dagi dagi.domain.net localhost localhost.localdomain

之后:

代码语言:javascript
复制
192.168.0.15  dagi dagi.domain.net
127.0.0.1     localhost localhost.localdomain

在那之后,ssh -Xssh -Y在没有重启sshd的情况下都运行得很好。

票数 2
EN

Stack Overflow用户

发布于 2014-07-02 16:11:34

我也撞到了这个。但在我的例子中,这是因为我几天前取消了对IPv6的支持。然后我遇到了this thread,解释如何确保sshd只使用IPv4。

这就是我是怎么做的,加上这个:

代码语言:javascript
复制
AddressFamily inet

到您的ssh file(在Ubuntu /etc/ssh/ sshd上),并让sshd重新加载它的配置(杀死-SIGHUP pid-of-sshd)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8154963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档