因为传统的 VNC 或者 XDMCP/X11 服务安全性不足,这些服务只适合用于局域网,不能在广域网使用。
本文示例了配置 SSH Tunnel 隧道访问 AIX 图形界面的方法,经过 SSH 隧道 RSA/DSA 加密,可显著提升访问密码的安全性。文中共列举了三种配置方法,您能够根据自身须要选取其中一种。
使用 Putty 设置 SSH 隧道 (Putty + VNC)
能够在 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 为窗口 id):
#/opt/freeware/bin/vncserver -kill :1
- 普通用户也能够启动本身的 vncserver,且同一个用户能够启动多个 vncserver。但相应的 X 窗口 id 必须不一样:例如 root 用户启动 id=1 的窗口 ( 如上示例 ),test 用户启动 id=2 的窗口,guest 用户启动 id=3 的窗口,
依此类推
。 - vncserver 监听的 VNC 链接端口为 5900+ 窗口 id。
说明:
一些早期版本的 Putty 可能不具有 Tunnel 功能或 X11 转发功能,如 Release 0.57 就不支持 X11 转发功能。因此建议尽可能使用最新版本,本文中使用的 Putty 版本为 Release 0.62。
配置一个 session,修改以下 Putty 属性:
Connection-> SSH -> Tunnels
图 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 了。
回到 session 栏目,配置 SSH Server,并保存该 session:
图 2. 保存 Putty 会话

登陆配置好的 session,输入用户名 / 密码;并在 VNC 链接期间保持打开。
说明:若是隧道关闭了,VNC 链接固然就没法转发了。
VNC 客户端下载地址:
http://www.realvnc.com/products/free/4.1/winvncviewer.html
VNC 客户端打开本地端口 5901 便可登陆图形界面。整个过程经过 SSH 加密传输,GUI 界面不引入额外的安全风险。
图 3. VNC 客户端登陆

- 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 事件日志
- 重设密码
cd 到用户的 $HOME/.vnc 目录,删除 passwd 文件便可。
- 更改 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 相关的程序包,相关内容参考后续章节。
- 受权其余用户访问本用户 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)
确认系统是否已安装 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 转发功能

保存 SSH 会话:
图 6. 保存 Putty 会话

Xmanager 能够经过以下网站获取:
http://www.netsarang.com/products/xme_overview.html
以以下方式在 Windows 客户端启动 Xmanager:
开始 -> 全部程序 -> Xmanager Enterprise 3 -> Xmanager – Passive
登陆已设置好 X11Forwarding 的 Putty session,便可在此会话上使用图形终端。
图 7. Putty+Xmanager 方式配置成功后的效果图

使用 SSH X11 Forwarding 设置 CDE (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 小时。
开始 -> 全部程序 -> Cygwin-X -> Xwin Server
打开 Xwin;
执行 ssh –Y <user_name>@<SSH Server Addr> 登陆相应 SSH Server 便可。
参考:
图 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 用户交流。
平均分 (1个评分)
快来添加第一条评论 |
请 登陆 或 注册 后发表评论。
注意:评论中不支持 HTML 语法