使用 SSH 建立安全通信信道在安全的环境中建立从 Windows 到 UNIX 的连接 |
|
级别: 中级
James E. Shewbert ([email protected]), 高级软件工程师, IBM
2007 年 6 月 29 日
使 用各种开放源码的工具,如安全 Shell (SSH)、PuTTY 和 Cygwin,对几乎任何需要访问的资源创建安全的连接。目前,有关 SSH 隧道建立和设置的信息并不是很完整,而且局限于特定的应用程序,或者编写于系统管理员的级别。随着安全需求的日益增长,除了添加边界防火墙、严格控制允许 的网络端口的数目,用户还需要一种简单地进行配置、操作的方法,最重要的是,安全地完成日常的任务以及访问那些他们经常访问的服务。
在日常工作中,我发现许多用户因为网络管理人员实施的新的安全规则而倍受挫折。尽管用户能够理解附加安全性的需要,但这些限制却成为提高工作效率的重要瓶颈。虽然这些用户懂得相关技术,但网络服务设置和防火墙可能并不属于他们的知识库中的一部分。
本 文描述了对连接到基于 AIX® 或 Linux® 的 SSH 服务器的简单 SSH 客户端的设置,这种服务器为典型的、懂得技术的用户提供了设置、配置和操作的能力,以便通过一种灵活的方式在 SSH 服务的基础上实现数据和服务的隧道化。用户将获益于对其环境的控制以及适应日常需求的能力。管理员将获益于减少用户打开端口的请求,从而能够对其安全环境 进行更严格的控制。
引言
每 天都会出现新的安全威胁,而网络管理人员则成为了其计算资产的保护者。然而,增强的安全措施可能给合法的用户带来显著的困难,并可能导致用户遭受挫折、生 产效率降低以及绕过安全限制的危险的攻击。使用合适的工具进行连接,可以在维护网络安全性和完整性的同时,使您的任务变得更加简单。IT 工具包中最有价值的工具之一是安全 Shell (SSH)。大多数用户都知道可以使用 SSH 作为 Telnet 的替代程序,但许多人并不了解它其他的优点。在经过正确的配置之后,服务器和客户端可以使用 SSH 建立连接,并与几乎任何服务进行通信。并且,因为 SSH 天生比 Telnet、FTP 或其他非加密的协议更加安全,所以大多数网络管理人员都可以接受打开端口的请求,并允许 SSH 通信通过防火墙。下面是关于这些技术的摘要,我曾用它来建立通过防火墙的连接,既有效又安全。
设置 SSH 客户端
在开始学习之前,您需要:
设置 SSH 服务器
目前大多数 UNIX 操作系统的分发版都包括 OpenSSH 软件的某个变种。如果您的分发版中没有附带该软件,您可以查看 OpenSSH 站点(请参见参考资料部 分)以获取二进制代码或源代码。在大多数情况下,安装服务器与安装 Redhat Package Manager (RPM) 并验证配置设置同样简单。确切的安装方法可能根据您所使用的环境的特点而有所不同。在实际情况下,大多数现代的 UNIX 系统缺省都安装了 OpenSSH。
考虑到其普及性,下面的描述使用免费的 SSH 客户端 PuTTY 作为参考。然而,所给出的配置是相对通用的,所以用户可以根据自己的需要来选择客户端软件。上述的配置步骤假定您熟悉基本的 SSH 连接,并提供了关于建立到隧道服务的连接的细节信息。
图 1 描述了通过 SSH 隧道对基础的 VNC 连接进行转发的基本概念。
配置
|
localhost:5900
,如下面的图 3 所示,然后单击 Connect。根据所使用的 VNC 版本的不同,连接窗口的外观也会有所不同,然而,基本原则都是相同的。 高级主题
在建立了上述基本连接之后,您可以重复该模式为那些可以标识端口配置的任何服务建立隧道。另外,可以将转发配置为使用单个连接访问安全区域中的多个服务和 附加的服务器。在下面的示例中,SSH 客户端连接到 SSH 服务器,与前面的示例完全一样。另外,SSH 客户端配置将附加端口 (139) 转发到另一台远程服务器。请注意,远程服务器无需任何特殊的配置或软件以使该配置生效,并且该配置独立于操作系统:SSH 功能仅用作通信的管道。对前面示例中的 SSH 服务器配置描述如下,其中新的配置项目用蓝色表示。这样可以允许客户端通过使用单个安全端口同时访问多个服务器和服务。图 4 演示了如何使用这样的连接。
下面是两个更常用的端口:
这并不是一份详尽的列表,正如前面提到的,大多数可标识端口的网络服务都可以通过这种方式进行转发。
配置
//localhost/sharename_on_Server2
,然后按 Enter。X11 转发
SSH 更深奥的用途之一是 X11 转发,它允许在 SSH 客户端上显示应用程序的图形部分,而程序逻辑依然在远程服务器上执行。通过使用这种方法,用户可以避免通过连接转发整个桌面带来的网络开销,并且仅接收到有关显示部分的内容。图 6 描述了 X11 转发的基本场景。
您需要的是:
配置
要在本地 Windows 工作站上配置一台 X 服务器,可以使用 Cygwin 的安装程序。在缺省的安装中,安装了 Cygwin-X 包。在完成缺省安装之后,执行下面的步骤,以便将 GUI 显示部分转发到您的本地系统。
. |
. |
/usr/X11R6/bin/startxwin.bat
启动 X 服务器。稍后将会显示一个命令 Shell 窗口。 /usr/X11R6/bin/startxwin.bat
启动 X 服务器。稍后将会显示一个命令 Shell 窗口。 xclock
以启动标准的 X Window 时钟实用程序。您应该马上可以看到出现了一个带模拟时钟外观的窗口,如图 7 所示。 结束语
尽 管无法完全消除增加的安全措施所带来的不便之处,但您可以降低它们对工作效率的影响。通过使用通常可获得的或开放源码的工具,如 SSH、PuTTY 和 Cygwin,用户可以对几乎任何需要访问的资源创建简单的、安全的连接。通过鼓励使用上面所描述的技术,网络管理人员可以在允许用户对其日常活动进行更 高级别的控制的同时,确保用户遵守各种安全要求。
参考资料
学习关于作者
James Shewbert 于 2002 年在 Texas Tech University 获得了信息系统 MSBA,随后便加入了 IBM。从那时开始,他就成为了 Global TIM Competency 项目的测试人员和自动化技术负责人,包括 ManageNow/eESM 套件。他还是一名 Sun 认证 Java 2 环境程序员。 |