經過 SSH 隧道方式圖形化鏈接 AIX 服務器

javascript

單擊提交則表示您贊成developerWorks 的條款和條件。 查看條款和條件.php

當您初次登陸到 developerWorks 時,將會爲您建立一份概要信息。您在 developerWorks 概要信息中選擇公開的信息將公開顯示給其餘人,但您能夠隨時修改這些信息的顯示狀態。您的姓名(除非選擇隱藏)和暱稱將和您在 developerWorks 發佈的內容一同顯示。html

全部提交的信息確保安全。java

  • 關閉 [x]

當您初次登陸到 developerWorks 時,將會爲您建立一份概要信息,您須要指定一個暱稱。您的暱稱將和您在 developerWorks 發佈的內容顯示在一塊兒。node

暱稱長度在 3 至 31 個字符之間。 您的暱稱在 developerWorks 社區中必須是惟一的,而且出於隱私保護的緣由,不能是您的電子郵件地址。python

單擊提交則表示您贊成developerWorks 的條款和條件。 查看條款和條件.jquery

全部提交的信息確保安全。linux

  • 關閉 [x]

經過 SSH 隧道方式圖形化鏈接 AIX 服務器

陳 熾卉, 工程師, IBM

簡介: 本文介紹瞭如何經過 SSH 隧道方式鏈接 AIX 圖形界面,適用於有防火牆保護或保密性要求的圖形化訪問 AIX 的場景;該方案能夠做爲 AIX 在廣域網上提供 GUI 接口的標準方式。web

發佈日期: 2012 年 7 月 23 日
級別: 中級
訪問狀況 : 1354 次瀏覽
評論: 0 (查看 | 添加評論 - 登陸) shell

平均分 5 星 共 1 個評分 平均分 (1個評分)
爲本文評分

內容介紹

因爲傳統的 VNC 或者 XDMCP/X11 服務安全性不足,這些服務只適合用於局域網,不能在廣域網使用。

本文示例了配置 SSH Tunnel 隧道訪問 AIX 圖形界面的方法,經過 SSH 隧道 RSA/DSA 加密,可顯著提升訪問密碼的安全性。文中共列舉了三種配置方法,您能夠根據自身須要選取其中一種。


使用 Putty 設置 SSH 隧道 (Putty + VNC)

1. 在 AIX 上安裝以及配置 VNC Server

能夠在 AIX Toolbox for Linux 裏面下載 VNC 安裝包:

http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/download.html

運行以下命令安裝:

 #rpm -ivh vnc-3.3.3r2-6.aix5.1.ppc.rpm 

運行以下命令啓動 vncserver,1 爲顯示窗口 ID,首次配置須要設置訪問密碼:

 #/opt/freeware/bin/vncserver :1 

說明:

  1. 相應的中止方法爲 (1 爲窗口 id):
     #/opt/freeware/bin/vncserver -kill :1 

  2. 普通用戶也能夠啓動本身的 vncserver,且同一個用戶能夠啓動多個 vncserver。但相應的 X 窗口 id 必須不一樣:例如 root 用戶啓動 id=1 的窗口 ( 如上示例 ),test 用戶啓動 id=2 的窗口,guest 用戶啓動 id=3 的窗口,依此類推
  3. vncserver 監聽的 VNC 鏈接端口爲 5900+ 窗口 id。

2. 下載 Putty 客戶端

http://www.putty.org/

說明:

一些早期版本的 Putty 可能不具有 Tunnel 功能或 X11 轉發功能,如 Release 0.57 就不支持 X11 轉發功能。因此建議儘可能使用最新版本,本文中使用的 Putty 版本爲 Release 0.62。

3. 設置 SSH 隧道

配置一個 session,修改以下 Putty 屬性:

Connection-> SSH -> Tunnels


圖 1. 經過 Putty 設置 SSH 隧道功能
圖 1. 經過 Putty 設置 SSH 隧道功能

各項目含義解釋:

Source Port: 定義本機(PC 客戶端)接受 VNC Client 鏈接的端口。

說明:這個端口是本機的端口,能夠是任何與本機其餘服務不衝突的端口,例如 4000、5000 等等。尤爲是若是一個客戶端機器同時訪問多個VNC Server的狀況,必須分配不一樣的本地端口,以免端口衝突。

Destination:

從 SSH Server 的角度而言,指的是 VNC Server 的服務地址及端口;此處而言,VNC Server 就是 SSH Server 自己,因此此處直接設爲 localhost. 例如 VNC Server 的監聽端口是 5901,此處即爲 localhost:5901;顯示窗口爲 2 的話,監聽端口爲 5902,相應的 Destination 設置應爲 localhost:5902。

說明:更復雜的 tunnel 可能有多跳(hop) 的狀況,這種狀況就不是 localhost 了。

4. 配置 SSH Server 並保存會話

回到 session 欄目,配置 SSH Server,並保存該 session:


圖 2. 保存 Putty 會話
圖 2. 保存 Putty 會話

5. 激活 SSH Tunnel

登陸配置好的 session,輸入用戶名 / 密碼;並在 VNC 鏈接期間保持打開。

說明:若是隧道關閉了,VNC 鏈接固然就沒法轉發了。

6. 本地客戶端登陸

VNC 客戶端下載地址:

http://www.realvnc.com/products/free/4.1/winvncviewer.html

VNC 客戶端打開本地端口 5901 便可登陸圖形界面。整個過程經過 SSH 加密傳輸,GUI 界面不引入額外的安全風險。


圖 3. VNC 客戶端登陸
圖 3. VNC 客戶端登陸

7. 常見問題解決方法

  1. VNC 客戶端鏈接失敗

    檢查 Putty 的 Event Log, 正常的狀況下,應該有以下提示;不然需檢查 SSH Tunnel 設置:

    2012-04-11 09:56:57 Local port 1001 forwarding to localhost:5901

    VNC Client 登陸成功後,會有以下提示:

    2012-04-11 09:57:18 Opening forwarded connection to localhost:5901

    參考:



    圖 4. 查看 Putty 事件日誌
    圖 4. 查看 Putty 事件日誌

  2. 重設密碼

    cd 到用戶的 $HOME/.vnc 目錄,刪除 passwd 文件便可。

  3. 更改 Xterm 爲 CDE 窗口的方法

    VNC 默認終端使用 xterm 方式,與 CDE 相比,xterm 風格比較簡單。以下須要使用 CDE 式窗口,能夠按以下方式設置 : 修改相應用戶 HOME 目錄下的 .vnc/xstartup 文件 , 把 xterm 改爲 dtsession 便可 ; 參考以下粗體字部分的修改:

     [/.vnc]#cat xstartup  #!/bin/sh  xrdb $HOME/.Xresources  xsetroot -solid grey  #xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & sh -c "LANG=C; DISPLAY=$DISPLAY; export LANG DISPLAY; /usr/dt/bin/dtsession" twm & 

    說明:

    使用 CDE 窗口須要安裝 X11.Dt 相關的程序包,相關內容參考後續章節。

  4. 受權其餘用戶訪問本用戶 GUI 界面的設置方法

    多個用戶或者同一個用戶,均可以在不一樣的端口上啓動多個 vnc server,以得到各自獨立的 GUI 窗口。例如 root 用戶使用 vncserver :1, test 用戶可以使用 vncserver :2 等等。

    若是切換到其餘用戶,仍但願使用本用戶的窗口,則須要受權;受權方法以下:

    查看 DISPLAY 取值:

     [/]#echo $DISPLAY node2:1.0 

    根據 DISPLAY 取值,確認鑑權項:

     [/]#xauth list node2:1  MIT-MAGIC-COOKIE-1  4c0b5b67969132bfff1f8a225574d666  node2/unix:1  MIT-MAGIC-COOKIE-1  4c0b5b67969132bfff1f8a225574d666  node2:2  MIT-MAGIC-COOKIE-1  4c0b5b67969132bfff1f8a225574d666  node2/unix:2  MIT-MAGIC-COOKIE-1  4c0b5b67969132bfff1f8a225574d666 

    切換到須要 GUI 的其餘用戶,添加鑑權項目,並設置 DISPLAY 便可:

     [/]#su - test  test@node2<~>xauth add node2:1 .4c0b5b67969132bfff1f8a225574d666 1356-364 xauth:  creating new authority file /home/test/.Xauthority  test@node2<~>xauth add node2/unix:1 .4c0b5b67969132bfff1f8a225574d666 test@node2<~>export DISPLAY=localhost:1.0  test@node2<~>xclock 


使用 SSH X11 Forwarding 設置 CDE (Putty + Xmanager)

1. 在 AIX 上安裝 X11.Dt 相關的程序包

確認系統是否已安裝 X11.Dt 相關的程序包 :

X11.apps.all

X11.base.all

X11.compat.all

X11.fnt ( 字體文件集,選取部分便可 )

X11.motif.all

X11.Dt.all:

X11.Dt.bitmaps ---CDE 位圖

X11.Dt.helpmin --- 最小幫助文件

X11.Dt.helprun --- 運行時幫助

X11.Dt.lib ---AIX CDE 運行時鏈接庫

X11.Dt.ToolTalk --TootTalk 支持

X11.Dt.bitmaps --CDE 位圖

X11.Dt.helpmin --- 最小幫助文件

X11.Dt.rte ---AIX 通用桌面環境

若是沒有上述軟件包,可以使用安裝光盤的第二張來安裝這些軟件包;

修改配置,防止 ASCII 控制檯啓動 CDE,安裝完後,設置以下:

 #cp /usr/dt/config/Xservers /etc/dt/config/Xservers 

而後,註釋 /etc/dt/config/Xservers 最後啓動 Xserver 的一行,以防止在 ASCII 控制檯啓動 CDE。

啓動 CDE

以 root 用戶身份啓動 CDE:

a. 在 AIX 啓動時自動啓動 CDE。使用 root 用戶登陸,並在命令行中執行:

 #/usr/dt/bin/dtconfig -e 

b. 在命令行中啓動 CDE:

 #/etc/rc.dt;exit 

c. 確認 CDE 已經啓動:

 #ps -ef |grep dtlogin  #netstat -an|grep 177  udp4       0      0  *.177                  *.* 

若是您看到 dtlogin 進程在運行,且 UDP 端口 177 已打開,則說明 CDE 已經正常啓動。

2. 在 SSH Server 端(AIX)配置 X11 Fowarding

a、編輯 /etc/ssh/sshd_config,打開 X11 Forwarding:

 # vi /etc/ssh/sshd_config 修改以下幾行: X11Forwarding yes  X11DisplayOffset 10  X11UseLocalhost yes 

b、重啓 sshd

 # stopsrc -s sshd  0513-044 The sshd Subsystem was requested to stop.  # startsrc -s sshd  0513-059 The sshd Subsystem has been started. Subsystem PID is 3997734. 

注意:

sshd 不接受 refresh –s 方式刷新配置,只能重啓;

SSH Server 端默認的 TCP 監聽端口從 6000+ 10(10 即 X11DisplayOffset取值)開始;新的客戶端鏈接依次是 6010, 6011, ...

3. 在 SSH Client 端(PC 端)配置 X11 Fowarding

配置一個 session,修改以下 Putty 屬性 :

Connection-> SSH -> Tunnels


圖 5. 經過 Putty 設置 X11 轉發功能
圖 5. 經過 Putty 設置 X11 轉發功能

保存 SSH 會話:


圖 6. 保存 Putty 會話
圖 6. 保存 Putty 會話

4. 以 passive 方式啓動 Xmanager

Xmanager 能夠經過以下網站獲取:

http://www.netsarang.com/products/xme_overview.html

以以下方式在 Windows 客戶端啓動 Xmanager:

開始 -> 全部程序 -> Xmanager Enterprise 3 -> Xmanager – Passive

5. 登陸 SSH 會話激活 X11 Forwarding

登陸已設置好 X11Forwarding 的 Putty session,便可在此會話上使用圖形終端。


圖 7. Putty+Xmanager 方式配置成功後的效果圖
圖 7. Putty+Xmanager 方式配置成功後的效果圖

使用 SSH X11 Forwarding 設置 CDE (Cygwin/X)

1. SSH Server 端配置

同上一部分同樣,不在冗述了。

2. Cygwin/X 安裝

Cygwin/X 安裝步驟以及下載方法參考:

http://x.cygwin.com/docs/ug/setup.html#setup-cygwin-x-installing

Cygwin/X 相關的包在 X11 分類下,注意須要顯式選擇以下安裝包:

xorg-server ( 必須,Cygwin/X X 服務器 )

xinit ( 必須,相關的啓動腳本,如 xinit, startx, startwin)

xorg-docs ( 可選,幫助文件 )

X-start-menu-icons ( 可選,添加項目到「開始」菜單 )

安裝過程視網速而定,通常須要 1-2 小時。

3. 啓動 Xwin 並登陸

開始 -> 全部程序 -> Cygwin-X -> Xwin Server

打開 Xwin;

執行 ssh –Y <user_name>@<SSH Server Addr> 登陸相應 SSH Server 便可。

參考:


圖 8. Cygwin/X 方式配置成功後的效果圖
圖 8. Cygwin/X 方式配置成功後的效果圖

三種鏈接方式比較

第一種方式(使用 Putty + VNC)安裝配置起來最簡單快捷。但若是須要鏈接多個圖形窗口,則須要手工啓動多個 vncserver 進程;並且圖形界面風格比較簡約。

第2、三種方式相關軟件安裝相對複雜一些,但鏈接多個圖形窗口不須要額外的設置。其中第二種方式須要藉助商業軟件 Xmanager;第三種方式需使用開源的 Cygwin/X。

您能夠根據自身的狀況選擇最合適的方式。


總結

本文介紹瞭如何經過 SSH 隧道方式 GUI 鏈接 AIX 圖形界面,該方案能夠做爲 AIX 服務器在廣域網上提供 GUI 接口的標準方式。


參考資料

學習

  • Installing Xwindows from an ASCII Terminal :介紹了在 AIX 如何安裝 Xwindows 相關的文件集。

  • http://the.earth.li/~sgtatham/Putty/0.52/htmldoc/Chapter3.html#3.1.3.1">Using PuTTY :介紹了 Putty 的使用方法,包括 SSH 隧道的配置方法以及常見問題的定位方法。

  • XonAIX wiki:列舉了在 AIX 上安裝 Xwindows 的各類相關問題以及相應解決方法。

  • Setting Up Cygwin/X:介紹了 Cygwin/X 的詳細安裝步驟。

  • Cygwin-X Frequently Asked Questions :提供了 Cygwin/X 常見使用問題的解答。

  • AIX and UNIX 專區:developerWorks 的「AIX and UNIX 專區」提供了大量與 AIX 系統管理的全部方面相關的信息,您能夠利用它們來擴展本身的 UNIX 技能。

  • AIX and UNIX 新手入門:訪問「AIX and UNIX 新手入門」頁面可瞭解更多關於 AIX 和 UNIX 的內容。

  • AIX and UNIX 專題彙總:AIX and UNIX 專區已經爲您推出了不少的技術專題,爲您總結了不少熱門的知識點。咱們在後面還會繼續推出不少相關的熱門專題給您,爲了方便您的訪問,咱們在這裏爲您把本專區的全部專題進行彙總,讓您更方便的找到您須要的內容。

  • AIX and UNIX 下載中心:在這裏你能夠下載到能夠運行在 AIX 或者是 UNIX 系統上的 IBM 服務器軟件以及工具,讓您能夠提早免費試用他們的強大功能。

  • IBM Systems Magazine for AIX 中文版:本雜誌的內容更加關注於趨勢和企業級架構應用方面的內容,同時對於新興的技術、產品、應用方式等也有很深刻的探討。IBM Systems Magazine 的內容都是由十分資深的業內人士撰寫的,包括 IBM 的合做夥伴、IBM 的主機工程師以及高級管理人員。因此,從這些內容中,您能夠了解到更高層次的應用理念,讓您在選擇和應用 IBM 系統時有一個更好的認識。

討論

  • 加入 developerWorks 中文社區。查看開發人員推進的博客、論壇、組和維基,並與其餘 developerWorks 用戶交流。

關於做者

做者畢業於中國科學技術大學,目前任職於 IBM,主要方向爲 AIX 平臺移植、性能優化、問題定位等。

關於報告濫用的幫助

報告濫用

謝謝! 此內容已經標識給管理員注意。


關於報告濫用的幫助

報告濫用

報告濫用提交失敗。 請稍後重試。


developerWorks:登陸


須要一個 IBM ID?
忘記 IBM ID?


忘記密碼?
更改您的密碼

單擊提交則表示您贊成developerWorks 的條款和條件。 使用條款

 


當您初次登陸到 developerWorks 時,將會爲您建立一份概要信息。您在 developerWorks 概要信息中選擇公開的信息將公開顯示給其餘人,但您能夠隨時修改這些信息的顯示狀態。您的姓名(除非選擇隱藏)和暱稱將和您在 developerWorks 發佈的內容一同顯示。

請選擇您的暱稱:

當您初次登陸到 developerWorks 時,將會爲您建立一份概要信息,您須要指定一個暱稱。您的暱稱將和您在 developerWorks 發佈的內容顯示在一塊兒。

暱稱長度在 3 至 31 個字符之間。 您的暱稱在 developerWorks 社區中必須是惟一的,而且出於隱私保護的緣由,不能是您的電子郵件地址。

(長度在 3 至 31 個字符之間)


單擊提交則表示您贊成developerWorks 的條款和條件。 使用條款.

 


爲本文評分

平均分 5 星 共 1 個評分 平均分 (1個評分)

1 星 1 星
2 星 2 星
3 星 3 星
4 星 4 星
5 星 5 星

評論

登陸註冊 後發表評論。

注意:評論中不支持 HTML 語法


剩餘 1000 字符



快來添加第一條評論

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=826891
ArticleTitle=經過 SSH 隧道方式圖形化鏈接 AIX 服務器
publish-date=07232012
url=http://www.ibm.com/developerworks/cn/aix/library/1207_chenzh_sshguiaix/index.html?ca=drs-

標籤

Help
使用搜索文本框在 My developerWorks 中查找包含該標籤的全部內容。 熱門標籤 顯示了特定專區最受歡迎的標籤(例如 Java technology,Linux,WebSphere)。 個人標籤 顯示了特定專區您標記的標籤(例如 Java technology,Linux,WebSphere)。

熱門文章標籤 | 
個人文章標籤

跳轉到標籤列表


相關文章
相關標籤/搜索