环境详情
服务器的/ 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