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


Linux: Linux:

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

[root@local ~] # ssh -X remote

-X(大寫,Enables X11 forwarding),接下來我們會進入遠端,並將遠端執行的程式在目前螢幕顯示出來。 -X(大写,Enables X11 forwarding),接下来我们会进入远端,并将远端执行的程式在目前萤幕显示出来。

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

[root@remote ~] # xterm & 

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

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

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

Windows: Windows:
但是通常我的遠端桌面是Windows 所以有其他的解決方案嗎??有的SSH + X11 forwarding + X-Deep/32 先下載所需的工具,1.x-Deep/32 , 2.SSH 這兩隻工具安裝上並沒有什麼難度只要不斷的按下一步即可.但是通常我的远端桌面是Windows所以有其他的解决方案吗??有的SSH + X11 forwarding + X-Deep/32先下载所需的工具,1.x-Deep/32 , 2.SSH 这两只工具安装上并没有什么难度只要不断的按下一步即可.
1.x-Deep/32 1.x-Deep/32
x-Deep/32 的下載點http://www.caslab.queensu.ca/LabHelp/XServer/ 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 还需要经过设定才可以使用,一开始你会看到x-Deep/32 要求我们选择你的哪些网路装置可以使用这个服务.你会看到的装置可能会跟我差很多,但是通常我们在一开始可以先选择让所有的网路装置都可以使用"IP:[ ANY ] accept requests on any local interface"
 
一開始你可能會找不到設定X-Deep 32 的設定程式,它一開始就會縮小到taskbar 的選項裡面,如果沒看到可以點選"顯示隱藏的圖示"就會找到可以設定x-Deep32 的位置.一开始你可能会找不到设定X-Deep 32 的设定程式,它一开始就会缩小到taskbar 的选项里面,如果没看到可以点选"显示隐藏的图示"就会找到可以设定x -Deep32 的位置.
 
展開x-Deep32 後選擇Edit -> X-Server Options展开x-Deep32 后选择Edit -> X-Server Options
 
Window Modes: Window Modes:
選擇"Window Modes" tab,將"Multiple Window Mode" 的模式選成"Multiple MS Window Mode" 並且不要勾選"Display Root Window" 這一選項.选择"Window Modes" tab,将"Multiple Window Mode" 的模式选成"Multiple MS Window Mode" 并且不要勾选"Display Root Window" 这一选项.
 
XDMP: XDMP:
切換到"XDMCP" 將"X-Deep/32 Local XDM Chooser" 的勾選選項移除掉.切换到"XDMCP" 将"X-Deep/32 Local XDM Chooser" 的勾选选项移除掉.
 
這樣我們就可以將Linux 的X-Window Client 所顯示的畫面顯示到x-Deep32 的X-window Server 上面.按下 "OK." X-Deep/32 將會重新啟動server. 接下來到SSH 去連接Linux.这样我们就可以将Linux 的X-Window Client 所显示的画面显示到x-Deep32 的X-window Server 上面.按下"OK." X-Deep/32 将会重新启动server. 接下来到SSH 去连接Linux.

2.SSH 2.SSH

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



本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签:
  1. 本文目前尚无任何评论.