昨日機緣巧合,無意中檢索到了一些關于 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
也等同于在配置文件中所配置的內容。