我一直在尝试让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。我已经能够让X11转发与我的其他计算机使用相同的skp登录。
此外,X11端口从使用Xming和Putty的Windows机转发到同一服务器。我必须手动将DISPLAY变量配置为IP地址和display 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我的服务器是Linux6,我的笔记本电脑是RedHat 15。
谁能给我一些想法,尝试让SSH X11转发在我的笔记本电脑上工作?
发布于 2012-03-26 10:40:26
我终于找到了答案(至少对我的情况来说是这样)!问题出在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在home目录中创建密钥。
发布于 2012-01-25 22:25:40
我在Debian容器上遇到了同样的问题,问题似乎来自我的/etc/ OpenVZ文件,其中"localhost“受到局域网IP的影响,而不是127.0.0.1。
之前:
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 -X和ssh -Y在没有重启sshd的情况下都运行得很好。
发布于 2014-07-02 16:11:34
我也撞到了这个。但在我的例子中,这是因为我几天前取消了对IPv6的支持。然后我遇到了this thread,解释如何确保sshd只使用IPv4。
这就是我是怎么做的,加上这个:
AddressFamily inet到您的ssh file(在Ubuntu /etc/ssh/ sshd上),并让sshd重新加载它的配置(杀死-SIGHUP pid-of-sshd)。
https://stackoverflow.com/questions/8154963
复制相似问题