通过 SSH 隧道方式图形化连接 AIX 服务器

IBM ID:
密码:

保持登录。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

昵称:

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

通过 SSH 隧道方式图形化连接 AIX 服务器

陈 炽卉, 工程师, IBM
作者毕业于中国科学技术大学,目前任职于 IBM,主要方向为 AIX 平台移植、性能优化、问题定位等。

简介: 本文介绍了如何通过 SSH 隧道方式连接 AIX 图形界面,适用于有防火墙保护或保密性要求的图形化访问 AIX 的场景;该方案可以作为 AIX 在广域网上提供 GUI 接口的标准方式。

发布日期: 2012 年 7 月 23 日
级别: 中级
访问情况 : 1354 次浏览
评论: 0 (查看 | 添加评论 - 登录)

平均分 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 进程;而且图形界面风格比较简约。

第二、三种方式相关软件安装相对复杂一些,但连接多个图形窗口不需要额外的设置。其中第二种方式需要借助商业软件 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?
忘记 IBM ID?

密码:
忘记密码?
更改您的密码

保持登录。

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

昵称:(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

错误:提交失败,请重试。

平均分 5 星 共 1 个评分 平均分 (1个评分)

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

评论

添加评论:

登录注册 后发表评论。

注意:评论中不支持 HTML 语法


有新评论时提醒我 剩余 1000 字符



共有评论 (0)显示: 最新评论

快来添加第一条评论

共有评论 (0)显示: 最新评论

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)。

使用搜索文本框在 My developerWorks 中查找包含该标签的所有内容。 热门标签 显示了特定专区最受欢迎的标签(例如 Java technology,Linux,WebSphere)。 我的标签 显示了特定专区您标记的标签(例如 Java technology,Linux,WebSphere)。

热门文章标签 | 
我的文章标签

跳转到标签列表




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值