通过ssh X11转发使用远程gui程序

ssh协议可以转发X11数据, 从而达到使用远程gui程序的功能, 假定现在有

  客服端 C :192.168.0.13

  服务器 S :192.168.0.200

首先确保在客服端C 上能够通过 ssh tsfh@192.168.0.200 连接到服务器S, 如果需要使用远程的gui程序,需要在服务器和客服端上分别做以下配置:

 

1、服务器: sudo vim /etc/ssh/sshd_config 修改以下配置,如果在配置文件里面没有找到,就直接添加到文件末尾即可,最后保存退出:wq

X11Forwarding yes

X11DisplayOffset 10

X11UseLocalhost yes

  服务器端修改完成后需要执行命令重启sshd服务 

sudo systemctl restart sshd.service

 

2.客服端:sudo vim /etc/ssh/ssh_config  同理修改以下配置,保存退出。

ForwardAgent yes

ForwardX11 yes

ForwardX11Trusted yes

客服端修改完成后也需要执行对应的命令重启ssh服务

sudo systemctl restart ssh.service

 

3、配置已经修改完了,现在开始连接测试,在客服端C 上执行命令

xhost +  //允许服务器的的x11界面连接过来

ssh
-X tsfh@192.168.0.200      //-X参数表示转发X11数据, 把用户名称tsfh 以及服务器S的ip地址替换为你自己的

现在你已经登陆了服务器,而且还有一个终端是连接的状态,和平时ssh连接没有什么区别,除了会转发X11的数据,你可以在终端里面用命令运行你想要运行的gui程序比如:firefox , google-chrome , xclock

现在我以xclock为例演示一下, xclock程序会显示一个图形时钟

xclock

等待一小会儿 你就可以在客服端C 的桌面上看到服务器S 的xclock了,如下图:

 

posted on 2018-05-10 22:34  sakuragl  阅读(16355)  评论(1编辑  收藏  举报

导航