您的位置:首页 > 运维架构 > Shell

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

2010-09-05 14:50 253 查看
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
地址就行了。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息