X11转发非root用户无法正常工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了X11转发非root用户无法正常工作相关的知识,希望对你有一定的参考价值。
环境细节
服务器的/ etc / ssh / sshd_config的相关位:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
客户端的$ HOME / .ssh / config的相关位:
Host *
XAuthLocation /opt/X11/bin/xauth
ForwardX11 yes
ForwardX11Trusted yes
在macOS High Sierra上使用XQuartz。
问题
我正在开辟一个流浪汉Ubuntu 18.04 VM。我在vagrant
用户之外添加了第二个用户。
ssh -X vagrant@ubuntu-bionic xclock
当我以vagrant
用户身份登录时,我可以让X11Forwarding工作。当我以ops
用户身份登录时,我无法使X11Forwarding工作。
ssh -X ops@ubuntu-bionic xclock
X11 forwarding request failed on channel 0
Error: Can't open display:
我希望能够让它与ops
用户一起工作。来自客户,$DISPLAY
有价值。当我使用vagrant
登录时,$DISPLAY
有一个值。当我以ops
身份登录时,$DISPLAY
未设置。如果我将$DISPLAY
设置为与vagrant
用户匹配,我会得到同样的错误:
Error: Can't open display: localhost:10.0
当X11UseLocalhost yes
Error: Can't open display: ubuntu-bionic:10.0
当X11UseLocalhost no
如果我以ops
然后sudo su - vagrant
登录,$DISPLAY
仍未设置。如果我以vagrant
然后sudo su - ops
登录,$DISPLAY
将被继承。
为了让这个工作,我错过了什么?我在每个用户(包括xhost +
)中运行sudo -s root xhost +
,但它仍然不起作用。
如果我将-vv
添加到我的ssh命令中,当连接为vagrant
时,我会看到此消息:
X11 forwarding request accepted on channel 0
和ops
:
Remote: X11 forwarding disabled in user configuration file.
X11 forwarding request failed on channel 0
我没有得到整个主题,但是对于我非常相似的情况,它有助于创建用户〜/ .Xauthority文件。我从vagrant用户主目录复制它,然后设置新的所有权。
以上是关于X11转发非root用户无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上使用 x11 转发在 docker 内运行 Omnet++。 SSH 不工作