ssh打开X11 forwarding

我用ssh连上了ubuntu虚拟机, 尝试xclip命令时, 输入ls | xclip -sel c, 得到报错: Error: Can't open display: (null). 搜索后, 发现好像和X11和DISPLAY有关. 还说ssh应该打开-X选项. 可用ssh -X连接, 还是不行.

现在来说说, 是怎么行的. 我不知道原理, 可能有的步骤是冗余的.

参考这个回答.

先说怎么判断是否work? echo $DISPLAY, 如果输出不为空, 那就可以. 或者可以再次运行ls | xclip -sel c, 不报错就是可以的

server(ubuntu)

ubuntu的/etc/ssh/sshd_config

X11Forwarding yes
X11DisplayOffset 10

which xauth显示xauth已安装

systemctl restart sshd

但是还不够.

client(mac)

我用ssh -X -v连接, 加上了-v, debug选项, 在进入ubuntu之前, 给了我这个与X11 forwarding有关的报错:

debug1: Remote: /home/parallels/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Remote: /home/parallels/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: No xauth program.
Warning: untrusted X11 forwarding setup failed: xauth key data not generated

关键的报错是No xauth program, 而且注意到, 前面没有remote. 所以它说的是mac. 于是参考回答1, 回答2. 我没完全按它们的步骤. 只做了一步:

编辑/etc/ssh/ssh_config, 在最后Host加了XAuthLocation /opt/X11/bin/xauth, 至于后面这个路径怎么来的, 是which xauth得到的.

然后就可以了, 从ssh启动firefox, 虽然非常卡, 但毕竟是可以了.

上一篇:MobaXterm以图形界面GUI形式登录打开远程linux ubuntu服务器桌面;How can I display a full remote desktop from a Unix/Linux


下一篇:python模块paramiko配置免密登录