SSH隧道管理内部服务(putty,ssh secure shell)forWINDOWS

SSH 隧道管理内部服务 (putty,ssh secure shell SecureCRT)forWINDOWS windows 下使用 putty ssh secure shell SecureCRT 的隧道功能映射远程主机的方法

网上有些关于 putty ssh secure shell 如何建立隧道的文章 . 我觉得写的不清楚 . 有必要补充一下概念和如何设置 ssh secure shell putty

概念 : 隧道就是一种端口映射 . 他通过中间机器的转发 . 把远程机器的端口映射到本地机器的端口上

举个例子

A 主机(看着是自己电脑) === 可连接(远程管理) ====> (外口) B 主机( ===== 能访问 = 内网 ====> C 主机

A 主机 (ADSL)———- ssh 连接) —————–>>B 主机 (211.200.200.200)—————C 主机 (192.168.2.254)

A 能访问 B,B 能访问 C, A 不能直接访问 C. 这时可以建立一个隧道 .

C 的端口通过 B, 映射到 A 的本地端口上去

建立隧道后

A====== 直接访问 c 映射端口 =========>C

A 主机上的应用程序 . 只要访问 A 上的端口 . 就能连到 C 的端口 .

举个例子
1.
通过 B. 我把 C 3306 端口映射到 A 3306 端口 . 这样我就可以用管理工具访问 c 主机数据库了

2. 通过 B. 我把 C 22 端口映射到 A 22 端口 . 这样我就可以用 SSH 工具练到 C 主机

3. 通过 B. 我把 B 的防火墙关闭端口和不对外的端口 8080 映射到 A 8080 端口
具体设置方法如下

ssh .profile->edit profiles->tunneling->add

然后

display. 名字 . 随便打无所谓 . 你自己知道就行
Type.
tcp ftp 根据你的需要
listen.
这个你本地的端口 . 监听这个端口 . 把包发送到远程 ( 一般 1024 以上 . 选个没用过的就行 )
destnation.
有两个, 1 是远程主机地址, 2 是端口 , 你希望访问的那个远程机器的信息

例如添加下面:
1.DISPLAY:3306 Type:tcp listen:3306 destanation:192.168.2.254 destanation:3306
2.DISPLAY:22 Type:tcp listen:22 destanation:192.168.2.254 destanation:22
3.DISPLAY:8080 Type:tcp listen:8080 destanation:127.0.0.1 destanation:8080

然后 save 一下 . 启动这个 profile 连接到中间节点 B 主机 ( 这个 ssh 要一直开着 )
现在访问本地 3306 端口 就是访问 C 主机的 3306 端口数据库,
现在访问本地 22 端口就是访问 C 主机的 22 端口的 SSHD 服务,
现在访问本地 8080 端口就是访问 B 主机的 8080 端口。

现在明白了吗?
下面就是讲 putty 设置
具体的操作是这样的。
1.
运行 putty ,会出现设置窗口,点击左边的 sessions 选项(默认)
输入 IP 地址和端口号(默认为 22
2.
选择左边的 Connection->SSH->Tunnels 选项
Source port 里面输入本地要开启的端口号(选择一个本地未使用的任意端口号)
Destination 里面填入最终要连接的服务器 IP 和端口号。(例如:我们这里数据库服务器 IP 为: 192.168.2.254 ,使用的 mysql 数据库,端口为 3306 ,就要填写: “192.168.2.254 3306” ,没有引号。
其他默认就行了。

A 主机(看着是自己电脑) === 可连接(远程管理) ====> (外口) B 主机( ===== 能访问 = 内网 ====> C 主机

A 主机 (ADSL)———- ssh 连接) —————–>>B 主机 (211.200.200.200)—————C 主机 (192.168.2.254)
1.
通过 B. 我把 C 3306 端口映射到 A 3306 端口 . 这样我就可以用管理工具访问 c 主机数据库了

2. 通过 B. 我把 C 22 端口映射到 A 22 端口 . 这样我就可以用 SSH 工具练到 C 主机

3. 通过 B. 我把 B 的防火墙关闭端口和不对外的端口 8080 映射到 A 8080 端口
例如:运行 putty ,会出现设置窗口,点击左边的 sessions 选项(默认) 211.200.200.200 端口号: 22
左边的 Connection->SSH->Tunnels 选项 添加下面三项。
1.Source port(
源端口 ):3306 Destination (目的): 192.168.2.254 3306 点添加
2.Source port(
源端口 ):22 Destination (目的): 192.168.2.254 22 点添加
2.Source port(
源端口 ):8080 Destination (目的): 127.0.0.1 8080 点添加
SSH 登陆 B 主机,要一直开着

现在访问本地 3306 端口 就是访问 C 主机的 3306 端口数据库,
现在访问本地 22 端口就是访问 C 主机的 22 端口的 SSHD 服务,
现在访问本地 8080 端口就是访问 B 主机的 8080 端口。
完成。

SecureCRT 设置
先登陆 ssh 服务器,然后就是 选项 ”—-“ 会话选项 ,这里有个 连接 ”—–“ 端口转发
右边显示 本地端口转发 ”— 下面点添加 ,
名称:随便
本机:添上端口号,如: 3306 ,相当于访问地址这个端口就是远程应用端口。
远程:添上端口号,如: 3306 ,就是应用端口。如果是在远程里面的另一台服务器,就添上那一台的 IP 地址就行了。

 

 


版权声明:本文为solar_gehj原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。