Linux下如何使用OpenSSH配置端口转发


从自己的电脑上访问公司的 CVS 服务器需要利用 SSH 客户端的端口转发功能。以前在 Windows 上,一般是使用 SecureCRT 作为 SSH 客户端。之后将工作平台迁移到 Ubuntu Linux 之下,却一时没有找到直接使用 OpenSSH 配置端口转发的方法。

只知道利用 PuTTY 的 Tunnel 来完成这样工作,但是多开着一个应用程序却只做端口转发这一件事情,多少觉得有些别扭。

  昨日机缘巧合,无意中检索到了一些关于 OpenSSH 配置端口转发的文章。以下面的例子说明如何配置 OpenSSH 的端口转发功能,所需要修改的配置文件为 ~/.ssh/config。

  Host testsrv Hostname 123.45.67.89 User cvs_user LocalForward 2401 123.45.67.90:2401

  其中 Host 后面的是主机的名称,指定这个名称后,就可以使用这个名称代替该主机的 IP 使用,例如:

  ssh testsrv

  即等同于

  ssh 123.45.67.89

  之后的 User 即指定连接主机使用的用户名。

  LocalForward 也就是用来配置端口转发功能的。2401 表示本地的端口号,后边的 123.45.67.90:2401 是 CVS 服务器的 IP 地址和服务端口(也就是转发的目标主机和端口)。在这里 LocalForward 表示是使用本地端口进行转发,如果要使用远程端口进行转发的话,则是使用 RemoteForward 参数。配置完毕,连接主机 testsrv 成功之后,即建立了一个安全的 SSL 加密通道。

  需要注意的是,有些文章里面把最后一行的

  (1) 2401 123.45.67.90:2401

  写成了

  (2) 2401:123.45.67.90:2401

  这样子是会出错的,(2) 中所示的格式,是在终端中直接用 ssh 配置端口转发参数所使用的格式。例如

  ssh -L 2401:123.45.67.90:2401 cvs_user@123.45.67.89

  也等同于在配置文件中所配置的内容。

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3