服务器的/ 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
答案 0 :(得分:0)
我没有得到整个主题,但是对于我非常相似的情况,它有助于创建用户〜/ .Xauthority文件。我从无业游民的用户主目录复制了它,然后设置了新的所有权。