X11转发非root用户无法正常工作

时间:2018-04-27 22:43:46

标签: vagrant macos-high-sierra x11-forwarding ubuntu-18.04

Cross-Posted

环境详情

服务器的/ 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

1 个答案:

答案 0 :(得分:0)

我没有得到整个主题,但是对于我非常相似的情况,它有助于创建用户〜/ .Xauthority文件。我从无业游民的用户主目录复制了它,然后设置了新的所有权。