ssh Forward X11 实现远程主机GUI在本地展示 (C/S X)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 有些时候,有些程序可能需要依赖图形界面才能启动,例如安装Oracle时(其实oracle支持命令行安装),例如需要启动一个图形界面的浏览器如firefox。作为服务端的系统,通常不会安装臃肿的图形界面。那么如何在不安装图形界面的的情况下启动图形界面的?听起来很矛盾,但是实际上是可行的。 X Win

有些时候,有些程序可能需要依赖图形界面才能启动,例如安装Oracle时(其实oracle支持命令行安装),例如需要启动一个图形界面的浏览器如firefox。
作为服务端的系统,通常不会安装臃肿的图形界面。
那么如何在不安装图形界面的的情况下启动图形界面的?听起来很矛盾,但是实际上是可行的。


X Window System(常被简称为X11或X),是一套基于X display protocol的windowing system,X GUI环境的功能包括窗口的绘制、移动,以及与鼠标、键盘等输入设备的交互。

X采用C/S模型(这是关键):一个X server 和多个应用程序(client)通信。server接收client的请求绘制窗口,并将来自鼠标、键盘等设备的输入传递给client。
因此 X server和client可以位于同一计算机上,例如在Linux主机上使用KDE等桌面环境就是这种模式。X server也可以通过同构网络、异构网络或Internet与client通信。
X server与client之间的通信是不加密的,这个问题可以通过SSH解决。SSH是Secure Shell的简称,SSH可以看作是通信被加密压缩版的telnet。
需要用到SSH的forwarding功能,当X server与client所在计算机都支持SSH协议时,X server与client之间不安全的TCP/IP连接可以转送到(forwarding)二者之间建立的SSH连接上。

了解原理后,我们就可以在本地自建X服务,然后服务器作为X client,把绘图的请求发给本地的X server。 这样就实现了本地显示图像的目的。

例子, 以本地为Windows为例,使用ssh连接到服务器, 把服务器的X请求转发到本地的 X server。
简单的几个步骤即可
.1. 配置服务器的sshd,重启服务

# vi /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes

# service sshd restart

.2. 在windows主机安装Xming, 启动X server
windows下的X server可以通过Xming软件来构建。

1
2
3
4
5

.3. 在windows主机安装securecrt或putty

.4. 在windows主机配置securecrt或者putty,配置对应会话的转发X11,并重新连接会话
6
7

.5. 在securecrt或putty命令行启动GUI命令

开启securecrt FORWARDX11后,会自动设置DISPLAY环境变量.  
#echo $DISPLAY
localhost:10.0

# firefox

8

目录
相关文章
|
8月前
|
安全 Shell Linux
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
328 0
|
5月前
|
Ubuntu 网络安全 数据安全/隐私保护
如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端
如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端
116 0
|
8月前
|
弹性计算 运维 Shell
基于key验证多主机ssh访问
【4月更文挑战第30天】
89 1
|
8月前
|
安全 Linux 网络安全
Linux加强篇009-使用ssh服务管理远程主机
山重水复疑无路,柳暗花明又一村
342 0
Linux加强篇009-使用ssh服务管理远程主机
|
jenkins Linux 网络安全
使用Jenkins通过SSH插件远程控制主机执行脚本
使用Jenkins通过SSH插件远程控制主机执行脚本
388 1
|
Shell Linux 网络安全
ssh 主机之间免密配置脚本
ssh 主机之间免密配置脚本
120 0
|
jenkins Linux 网络安全
使用Jenkins通过Publish Over SSH插件远程控制主机执行脚本
使用Jenkins通过Publish Over SSH插件远程控制主机执行脚本
262 0
|
Linux 网络安全
三步实现Linux下主机之间SSH免密登录
三步实现Linux下主机之间SSH免密登录
|
Linux 网络安全 数据安全/隐私保护
Linux下ssh远程主机报错:ssh_exchange_identification: read: Connection 解决
Linux下ssh远程主机报错:ssh_exchange_identification: read: Connection 解决
235 0
|
网络协议 算法 数据挖掘
抓包分析ssh远程主机为何变慢了?
在使用spug自动化部署程序的时候,会使用ssh协议远程执行脚本,但是ssh那一步会耗时比较旧,网上的解决方案五花八门. 问题可能可以解决,但是背后原理并不清楚,借此机会抓包将此问题彻底消化.
172 0