在 ssh 连接到服务器后,经常会有需要获取并展示服务器图像的需求,而 ssh 其实带有支持图形界面传输的功能,本文记录开启方法。
问题复现
- 通过 SSH 连接到服务器后,需要获取服务器弹出的界面,那么就需要开启服务器的 X11
- 此时登录时显示 X11 状态:
1 | X11-forwarding : ✘ (disabled or not supported by server) |
---|
实现思路
- 实现图形传输需要打通 X11 服务,实现上分为两步
- 在服务器端安装 X11 并在 SSH 配置中开启 X11 相关开关
- 客户端访问服务器时开启 X11 传输配置 有时客户端访问无法开启 X11 通道,那么也可以将服务器的 Display 变量指定到客户端的 IP:端口 上,并开启其他工具接收
具体方法
服务器端配置 ssh
安装 ssh 服务
12 | sudo apt updatesudo apt install openssh-server |
---|
启动 ssh 服务
1 | sudo service ssh start |
---|
修改 sshd 配置
此处仅介绍开启 X11 相关配置,登录配置略过
- 修改
/etc/ssh/sshd_config
123456 | AddressFamily inetAllowTcpForwarding yesX11Forwarding yesX11DisplayOffset 10X11UseLocalhost yes |
---|
安装 xorg
- apt 安装 xorg
123 | sudo apt install xorg # ubuntu; for centos, xorg-x11-xauthtouch /root/.Xauthorityxauth add localhost/unix:10 MIT-MAGIC-COOKIE-1 $(mcookie) |
---|
- 重启 ssh 服务
1 | service ssh restart |
---|
完成 X11 开启
- 重新 MobaXterm SSH 登录服务器,X11 连接正常
- 使用 CMD SSH 时可以加入参数
-Y
/-X
实现类似功能:
1 | ssh -Y root@192.198.10.31 -p 5656 |
---|
参考资料
- https://blog.csdn.net/abc13068938939/article/details/116654533