ssh隧道技术_SSH隧道

每天都有新的安全威胁出现,网络管理员可以保护其计算资产。 但是,增强的安全措施可能给合法用户带来巨大的困难,并可能导致挫败感,生产力损失和规避限制的危险尝试。 为自己配备适当的连接工具可以使您的工作更加轻松,同时仍保持网络安全性和完整性。 IT工具包中最有价值的工具之一是Secure Shell(SSH)。 大多数用户都熟悉使用SSH替代Telnet,但是许多人没有意识到它的其他好处。 正确配置后,服务器和客户端即可使用SSH链接几乎连接并传达任何服务。 而且,由于SSH本质上比Telnet,FTP或其他未加密的协议更安全,因此大多数网络管理员正在适应打开端口并允许SSH通过防火墙通信的请求。 以下是我用来使防火墙既有效又安全的连接技术的摘要。

设置SSH客户端

您需要开始什么:

  • 确保您拥有Windows®主机(称为SSH客户端 )和SSH客户端软件(例如PuTTY)。
  • 需要SSH服务器(称为SSH服务器 )-通常在受防火墙保护的网络区域内,这些服务器通常基于AIX®,Linux®或其他UNIX®变体,但是基于Windows的SSH服务器也可以使用。
  • 根据需要,还需要其他服务器进程(服务器消息块(SMB),虚拟网络计算(VNC)等)。

设置SSH服务器

当前,大多数UNIX类型的操作系统发行版都包含OpenSSH软件的某些变体。 如果您的特定发行版没有随附,则可以检查OpenSSH站点(请参阅参考资料 )以获取二进制文件或源代码。 在大多数情况下,安装服务器就像安装Redhat Package Manager(RPM)并验证配置设置一样简单。 确切的安装方法会有所不同,具体取决于您的环境。 实际上,在大多数现代UNIX系统中默认安装OpenSSH。

鉴于其受欢迎程度,以下描述使用免费的SSH客户端PuTTY作为参考。 但是,配置是相对通用的,客户端的选择取决于用户。 上述配置步骤假定您熟悉基本的SSH连接,并提供有关建立与隧道服务的连接的详细信息。

图1说明了通过SSH隧道转发基本VNC连接的基本概念。

图1.通过SSH隧道转发基本的VNC连接
通过SSH隧道转发基本VNC连接

组态

  1. 确保将要在远程服务器上连接的本地端口上没有运行任何服务。 在后续步骤中,您将使用SSH客户端在本地客户端上定义一个虚拟服务,该虚拟服务与您要在远程系统上访问的服务相对应。 因此,与远程端口相对应的本地端口必须可用。 例如,如果您尝试使用隧道访问远程系统上的SMB共享,​​则必须禁用本地系统上Microsoft®网络的文件和打印机共享 。 同样,如果打算连接到远程主机上的VNC服务器,则必须确保如果本地系统上正在运行任何VNC服务器会话,则它们与要连接到的远程系统上的端口不在同一端口上。
  2. 在客户端工作站上,创建标准的SSH连接配置文件以连接到远程主机。 以下示例假定您正在使用免费的PuTTY SSH客户端; 但是,无论您选择哪个客户端,主体都是相同的。
图2.备用PuTTY配置
备用PuTTY配置
  1. 输入上面图2中的信息后,请确保从“ 类别”树中选择“ 会话”项,并保存该会话以备将来使用。
  2. 在客户端工作站上,打开上面创建的会话。 第一次在客户端和服务器之间建立连接时,系统将提示您确认将服务器的密钥添加到本地密钥存储中。 查看并接受远程服务器的密钥后,请提供远程服务器的用户ID密码 。 当您在远程系统上收到命令提示符时,SSH连接和隧道就可以使用了。
  3. 在客户端工作站上,启动VNC查看器软件,然后在VNC服务器字段中输入localhost:5900 ,如下图3所示,然后单击连接 。 连接窗口的外观将根据所使用的VNC的版本而有所不同。 但是,原理是相同的。
    图3. VNC选项
    VNC选项
  4. 几秒钟后,您应该会看到VNC窗口。 系统现在正在通过SSH链接进行VNC会话。

进阶主题

一旦建立了上面详述的基本连接,就可以重复该模式以建立可以识别端口配置的任何服务。 此外,转发可以配置为使用单个链接访问安全区域内的多个服务和其他服务器。 在以下示例中,SSH客户端连接到SSH服务器,就像前面的示例一样。 此外,SSH客户端配置为将其他端口(139)转发到另一个远程服务器。 请注意,远程服务器不需要特殊的配置或软件即可使该配置起作用,并且该配置独立于操作系统:SSH功能仅充当通信的通道。 下面显示了上一个示例中的SSH服务器配置,新配置项显示为蓝色。 这允许客户端通过使用单个安全端口同时访问多个服务器和服务。 图4说明了如何使用这种连接。

图4. SSH服务器配置
SSH服务器配置

较常见的两个端口是:

  • Windows文件共享:139
  • Windows远程桌面协议:3389

这不是一个详尽的清单。 如上所述,大多数可以为其识别端口的网络服务都可以这种方式转发。

组态

  1. 遵循上一节中的步骤,如下图所示,将另一个转发端口添加到“ PuTTY配置”窗口中。 图5说明了Windows文件共享隧道的定义。
    图5. Windows文件共享
    Windows文件共享
  2. 定义隧道并保存配置文件后,打开SSH会话并登录到服务器1。
  3. 在本地Windows客户端上,打开Windows资源管理器会话,然后输入\\localhost\sharename_on_Server2并按Enter
  4. 几秒钟后,您将收到一个密码提示,请求远程共享的登录凭据。 输入服务器2上共享的用户名密码
  5. 再过几秒钟后,窗口将刷新并显示共享中存在的文件列表。

X11转发

SSH更深奥的用途之一是X11转发,它允许在远程服务器上执行逻辑时在SSH客户端上呈现应用程序的图形部分。 通过使用这种方法,用户可以避免通过链接转发整个桌面的网络开销,并且仅接收显示器的相关部分。 图6描述了X11转发的基本方案。

图6. X11转发
X11转发

您需要什么:

  • 一台Windows主机(称为SSH客户端)X服务器和SSH客户端(例如Cygwin-X
  • 一台SSH服务器(称为SSH服务器)-已安装并正在运行的SSH服务器软件(* IX:OpenSSH)
  • 任何图形服务器应用程序

组态

要在本地Windows工作站上配置X服务器,请访问Cygwin安装程序。 默认安装将安装Cygwin-X软件包。 默认安装完成后,请执行以下步骤以将GUI显示转发到本地系统。

  1. 在远程SSH服务器上,找到sshd_config文件。 通常,此文件将位于/ etc / ssh /中,但是该位置可能会因您的特定操作系统或发行版而异。
  2. 编辑sshd_config并找到包含X11Forwarding的行,类似于以下示例:
    .
    .
    #AllowTcpForwarding yes
    #GatewayPorts no
    X11Forwarding yes
    #X11DisplayOffset 10
    #X11UseLocalhost yes
    #PrintMotd yes
    .
    .

    完成编辑后,请确保该行与上面的示例相同。 不应在其前面加上注释标记(#),并且其值应设置为Yes 。 如果需要更改sshd_config文件,则必须重新启动SSH子系统。
  3. 在本地SSH客户端上,找到ssh_config文件。 在配置了CygwinX的系统上,该文件位于/ cygdrive / c / cygwin / etc /中。
  4. 编辑ssh_config并找到以下行:
    .
    .
    #Host *
    #ForwardAgent no
     ForwardX11 yes 
    #RhostsRSAAuthentication no
    #RSAAuthentication yes
    .
    .

    完成编辑后,请确保该行与上面的示例相同。 不应在其前面加上注释标记(#),并且其值应设置为Yes 。 如果有必要对ssh_config文件进行更改,则必须重新启动任何活动的SSH会话以使更改生效。
  5. 在本地SSH客户端上,通过执行<cygwin home>\usr\X11R6\bin\startxwin.bat来启动X服务器。 几秒钟后,将显示命令外壳窗口。
  6. 在命令外壳程序窗口中,启动到前面步骤中配置的SSH服务器的标准SSH连接。 该命令采用ssh user@hostname.domain的形式。
  7. 成功登录并可以访问远程计算机后,便可以执行带有图形组件的任何应用程序,并且图形部分将显示在SSH客户端的显示屏上。 要快速验证链接是否已正确建立,请键入xclock以启动标准的X Window Clock实用程序。 您应该立即看到一个带有模拟时钟面的窗口, 如图7所示。
    图7:xclock和DB2®控制中心
    在该示例中,xclock和DB2 Control Center窗口都出现在Windows桌面上。

结论

尽管您无法消除与增加安全措施相关的不便之处,但可以减少其对生产率的影响。 通过使用诸如SSH,PuTTY和Cygwin之类的通用工具或开放源工具,用户可以为几乎所有需要访问的资源创建简单,安全的连接。 通过鼓励使用上述技术,网络管理员可以确保用户遵守安全要求,同时允许他们对其日常活动进行更高级别的控制。


翻译自: https://www.ibm.com/developerworks/aix/library/au-tunnelingssh/index.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值