dig*_*gle 13 ssh x11-forwarding
我一直试图从我的笔记本电脑上运行X11端口转发工作.我无法弄清楚为什么它不起作用.
当我尝试运行xterm时收到此消息:
X11 connection rejected because of wrong authentication.
xterm Xt error: Can't open display: localhost:10.0
Run Code Online (Sandbox Code Playgroud)
我不知道这是否相关,但是当我登录时,我收到此消息:
/usr/bin/xauth: timeout in locking authority file /home/sphillips/.Xauthority
Run Code Online (Sandbox Code Playgroud)
我想知道问题是我的笔记本电脑上的本地用户是skp还是这台服务器上的用户名是sphillips.我已经能够使用X11转发与我使用相同skp登录的其他计算机一起工作.
此外,X11端口转发从使用Xming和Putty的Windows机器到同一服务器.我必须手动将DISPLAY变量配置为IP地址并显示0.0,但它可以工作.
我在我的机器上运行了一个xhost +,试图绕过任何安全问题.那还是行不通的.
在服务器上,我检查配置:
$ sudo grep X11Forwarding /etc/ssh/sshd_config
#X11Forwarding no
X11Forwarding yes
# X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
在我的机器上:
$ sudo grep X11Forwarding /etc/ssh/sshd_config
[sudo] password for skp:
#X11Forwarding no
X11Forwarding yes
# X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
我的服务器是RedHat Enterprise Linux 6,我的笔记本电脑是Fedora 15.
任何人都可以给我任何想法,试图让我的笔记本电脑上的SSH X11转发工作吗?
dig*_*gle 13
我终于找到了答案(至少在我的情况下)!问题是SELinux.我关闭了SELinux,它没有问题.
如果您对所有血腥细节感兴趣,可以在我的博客上阅读,但请在此详细说明相关事实......
在远程计算机上,我使用dmesg查看日志消息:
dmesg | tail
Run Code Online (Sandbox Code Playgroud)
我发现了许多这样的消息:
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
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令检查SELinux的状态:
$ sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: permissive
Mode from config file: permissive
Policy version: 24
Policy from config file: targeted
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令将其转为许可模式:
setenforce 0
Run Code Online (Sandbox Code Playgroud)
有关SELinux的更多信息,我发现Red Hat的指南很有帮助.此外,对于其他SSH问题,我发现David的博客对于获取日志记录有帮助.
对我来说,在那之后,我的X11转发开始工作没有问题.
SELinux正在阻止其他几件不同的事情.它无法创建必要的文件来使密钥验证工作.我还发现它阻止了ssh-keygen在主目录中创建密钥.
我在 Debian OpenVZ 容器上遇到了同样的问题,问题似乎来自我的 /etc/hosts 文件,其中“localhost”受到 LAN IP 的影响,而不是 127.0.0.1。
前 :
192.168.0.15 dagi dagi.domain.net localhost localhost.localdomain
Run Code Online (Sandbox Code Playgroud)
后 :
192.168.0.15 dagi dagi.domain.net
127.0.0.1 localhost localhost.localdomain
Run Code Online (Sandbox Code Playgroud)
之后,两者ssh -X都ssh -Y运行得非常顺利,甚至无需重新启动 sshd。