使用x11 forwarding显示X Windows

在进行Linux开发时,我们常常需要通过ssh访问linux服务器。

除了命令行登录外,我们还借助与Cygwin、X-Win32、Xmanager、NoMachine、Xming等软件在本地Windows上建立X Server,显示远端的X Window。

更近一步,我们常常通过ssh,在服务器之间进行跳转。

本文主要介绍如何配置sshd服务端以及客户端参数,来获得通过ssh进行X11转发。

想要使ssh通道获得X11的转发功能,需要在服务端和客户端同时进行设置。

  • 对于用工具通过ssh直连服务器来说,工具是客户端(而且很多工具都自动设置好了客户端的配置),我们只需关注服务器的配置。
  • 对于用工具登录跳板机(一台或几台作为跳板的中间服务器)再间接登录服务器的情况来说,跳板机本身是既作为服务器又作为客户端的,需要两方面的配置。

服务端

服务端的配置位于/etc/ssh/sshd_config中,对该文件配置以保证服务端sshd服务可以进行X11转发。

确保该文件包含以下选项:

X11Forwarding yes 

修改该文件后需重启sshd服务:

service sshd restart 

客户端

客户端有两种方法保证ssh可以进行X11转发:

修改/etc/ssh/ssh_config或~/.ssh/config文件

前者是全局配置,后者为当前用户配置,二者都存在的情况下,后者会覆盖前者的配置。

有两个选项需要注意:

  • ForwardX11

  • ForwardX11Trusted

这两个选项的作用是互相有影响的,表现为:

ForwardX11 ForwardX11Trusted ssh_mode
no no disabled
no yes disabled
yes no untrusted
yes yes trunsted

对于ssh_mode的解释:

  • disabled: 无法进行X11转发,但可以通过ssh命令参数来提升获得转发的能力。
  • untrusted:通过不可信连接进行X11转发,该模式下,当前客户端默认为不可信客户端,它不信任sshd服务器。因此该客户端在服务器上的权限受限,并且无法通过该客户端修改X11显示的其他客户端。(当然,其他客户端也不能修改当前客户端!)该模式下的客户端,也可以通过为ssh命令配置-Y参数提升为可信客户端。
  • trusted: 通过可信连接进行X11转发,该模式下,当前客户端充分信任sshd服务器,并拥有X11的完全控制权,这意味着它可以对其他显示X11的客户端进行修改。该模式下的客户端,也可以通过为ssh命令配置-X参数降低为不可信客户端。
通过为ssh命令指定参数

为ssh命令指定特定的参数会影响当前客户端的模式。这种方式会覆盖前面配置文件中的设置。

ssh_args ssh_mode
ssh disabled
ssh -X untrusted
ssh -Y trunsted

最后,许多客户端无法在untrusted模式下正常工作。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30338315/viewspace-2144514/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30338315/viewspace-2144514/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要开启X11转发,您需要进行以下步骤: 1. 在服务器上,确保X11转发功能已启用。您可以检查SSH服务器配置文件 `/etc/ssh/sshd_config` 中的以下行是否存在并处于注释状态: ``` # X11Forwarding no ``` 如果存在且被注释掉(前面有`#`),请将其修改为: ``` X11Forwarding yes ``` 如果该行不存在或已经设置为`yes`,则无需更改。 2. 保存并关闭SSH服务器配置文件。 3. 重新启动SSH服务器以使更改生效。在大多数Linux发行版中,可以使用以下命令重新启动SSH服务: ``` sudo service ssh restart ``` 或者 ``` sudo systemctl restart ssh ``` 4. 确保您的本地计算机上安装了X11服务器。如果您使用的是Linux或Unix系统,通常默认安装了X11服务器。如果您使用的是Windows系统,则可以使用Xming、Cygwin/X或MobaXterm等工具来提供X11服务器。 5. 使用带有X11转发选项的SSH命令连接到远程服务器。在命令行中使用以下命令: ``` ssh -X username@remote_server ``` 确保将`username`替换为您的用户名,`remote_server`替换为远程服务器的IP地址或域名。 6. 连接成功后,在远程服务器上运行任何需要图形界面的应用程序时,它们将通过X11转发在本地计算机上显示。 请注意,X11转发可能需要在远程服务器和本地计算机上安装一些额外的软件包,以确保正确的图形显示。这些软件包的名称和安装方法可能因操作系统而异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值