SSH + X11 forwarding + X-Deep/32

       通常我在管理Linux 时都会使用到SSH 直接透过桌机去连接,如果真的非得用到x-window 时我会使用VNC(Virtual Network Computing) 来当作远端的连线,但老实说VNC(Virtual Network Computing)并不是很安全.

前几天看到一个同事采用的是SSH + X11 forwarding 再加上x-win32 ,就可以在windows 的桌机使用Linux 的X-window 而且是透过SSH 的方式连接安全上也不会有太大的问题.但是我上了x-win32 http://www.starnet.com/ 他并不是免费的.恩!!!虽然可以试用但是有每次连线30 分钟的限制.所以我又再找了另外一套X-Deep/32http://www.caslab.queensu.ca/LabHelp/XServer/


Linux:

不过如果你的桌机是Linux 可以很简单的实现SSH + X11 forwarding 并不需要其他的程式,方式如下:

[root@local ~] #ssh -X remote

-X(大写,Enables X11 forwarding),接下来我们会进入远端,并将远端执行的程式在目前萤幕显示出来。

注:当我们在windows上安装好x-deep/32后,通过putty连结好后,运行ssh -X linux主机IP

[root@remote ~] #xterm & 

你可以看到远端所执行的程式,在local 端显示出来。

注:此处显示的是终端,如果想显示时钟设置程序,就要输入system-config-data & ,不过因为传输的问题,可能会出现最后提到的那一大串错误。

转送X session 预设登入SSH 时,就可以将X-Window 执行的画面传回本地端.如果不行检查一下你的Remote 端/etc/ssh/sshd_config 中X11Forwarding 是否设为yes (OpenSSH 2.X版预设值为no)

 

Windows:
但是通常我的遠端桌面是Windows 所以有其他的解決方案嗎??有的SSH + X11 forwarding + X-Deep/32 先下載所需的工具,1.x-Deep/32 , 2.SSH這兩隻工具安裝上並沒有什麼難度只要不斷的按下一步即可.

1.x-Deep/32

 x-Deep/32的下载点http://www.caslab.queensu.ca/LabHelp/XServer/

安装完成x-Deep/32 还需要经过设定才可以使用,一开始你会看到x-Deep/32 要求我们选择你的哪些网路装置可以使用这个服务.你会看到的装置可能会跟我差很多,但是通常我们在一开始可以先选择让所有的网路装置都可以使用"IP:[ ANY ] accept requests on any local interface"
 
一开始你可能会找不到设定X-Deep 32 的设定程式,它一开始就会缩小到taskbar 的选项里面,如果没看到可以点选"显示隐藏的图示"就会找到可以设定x -Deep32 的位置.
 
展开x-Deep32 后选择Edit -> X-Server Options
 
Window Modes:
選擇"Window Modes" tab,將"Multiple Window Mode" 的模式選成"Multiple MS Window Mode" 並且不要勾選"Display Root Window" 這一選項.  
XDMP
切换到"XDMCP" 将"X-Deep/32 Local XDM Chooser" 的勾选选项移除掉.
 
这样我们就可以将Linux 的X-Window Client 所显示的画面显示到x-Deep32 的X-window Server 上面.按下"OK." X-Deep/32 将会重新启动server. 接下来到SSH 去连接Linux.

2.SSH

这一只SSH 连接程式是我比较常用的PuTTY (the Telnet and SSH client itself) 下载点: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

在putty 选项Under Connection -> SSH -> Tunnels 可以看到这边的主角X11 forwarding. 请动"Enable X11 forwarding" 这一选项并将"X display location" 设并为localhost:0 你一定会很好奇为什么是localhost:0请参考:SSH Secure tunnelhttp://benjr.tw/?q=node/105
 
在Putty 的session 选择你要连接的Host name ,SSH 预设port 为22.载入之后你所有执行的X-window 程式都会被导入到目前你的windows 系统上.
 
但是老实说用了一会就开始后悔了,虽然一般的小程式的显示都可以转到windows 上但是大多的,比如(#system-config-display) 都是秀出错误讯息,
 
The program 'xconf.py' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
(Details: serial 638 error_code 8 request_code 72 minor_code 0)
 (Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
 
加上它的传输反应并不是很快速,像我将Linux 上的firefox 画面转到Windows 下来用大多的时间都在等待画面的传送,所以如果没有安全上的考虑还是VNC(Virtual Network Computing) 的解决方式会是比较合适的方案。
本文是我找x-deep/32这个软件的用法时,无意间在一个台湾同胞的博客上发现的。写的不错,经本人测试发现用起来很鸡胁。不如vnc和xmanager效果。好。不过该兄也并非原创,是从http://www.caslab.queensu.ca/LabHelp/XServer/ 这个站点上摘下来的。

你可能感兴趣的:(ssh,X-Deep/32,x11)