用ssh端口转发功能访问远程服务器 转

现在的系统一般都需要数据库,如oracle或者sybase,为了安全考虑,数据库一般建在内网的某台机器上,而数据库的端口也不能直接暴露在防 火墙外。为了支持现场工作,家里需要访问数据库时,一般的作法是先用远程桌面登录到现场的某台装有客户端的机器,再打开客户端访问数据库,这种办法最直 接,但很不方便,首先是网速的限制,刷新画面有时候非常慢,另一个不方便的地方是,有可能这台装客户端的机器有多个人同时要用,这时候互相之间很有可能要 打架了图片点击可在新窗口打开查看 。如果现场有能直接访问的linux服务器,就可以用ssh的端口转发功能来访问数据库。

 

首先,现场需要有一台linux服务器,而且打开ssh服务,当然这台服务器的22端口要在防火墙上配置成能被外网访问到,或者这台服务器本身就是接口服务器。

另外,你本地的机器需要有用于ssh登录的软件(比如说SecureCRT),而且需要能访问到现场那台linux服务器。

最后,当然你得有数据库客户端。

linux服务器我们取名叫A,

内网的数据库服务器我们取名叫B。

 

我们用SecureCRT来举例说明ssh的端口转发功能,当然其它软件应该也有类似功能,这就需要你自己研究一下了。

首先,在SecureCRT里建立一个普通会话,用ssh连接到A,如果不会建立会话,请参考软件手册,或者联系我。

然后,想办法得到数据库的服务端口,比如oracle一般是1521,sybase一般是5000,下面用oracle的1521端口作例子。

接着,打开SecureCRT刚刚建立的会话的属性,


能看到对话框左边有个Port Forwarding,点开后在右边点击Add...

 


图片点击可在新窗口打开查看 此主题相关图片如下:

在弹出的对话框里填这几样东东:

Name: 随便写个名字,这里是oracle

Local下面的Port:填入本地将建立的服务端口,这里是1521跟远程的一样(后面会解释这个端口)

Remote下面把Destination host is different from the SSH server前的勾打上,

Remote下面Hostname:填入B的IP,比如10.8.20.10

Remote下面的Port:填入数据库服务器的服务端口,这里是1521(如果跟本地端口一样,一般会自动填上不用改)

最后点OK确定。 

 


图片点击可在新窗口打开查看 此主题相关图片如下:

 

再点OK确定,这时我们的工作已经完成一半了,剩下的就是数据库客户端的设置了,在这之前先解释一下前面设置的两个端口分别是干什么的。

前面看到设置的时候有两个端口,一个是Local,一个是Remote。

Remote:指的就是远程数据库的服务端口,这很好理解,这个端口肯定得设置。

Local:指的是在本地,SecureCRT将开一个监听端口,通过ssh,将所有在这个端口上收到的消息,转发到远程数据库的服务端口。


图片点击可在新窗口打开查看 此主题相关图片如下:

 

所以,客户端设置的时候,只要把数据库地址设置成localhost,或者127.0.0.1就可以了,端口则设置成上面我们设置的Local下面的端口,如果不会设置,找会的人问下,或者google一下,或者参考手册。

 

好了,设置完成,让我们来试着连接一下,如果SecureCRT的会话在修改属性后还没重连过,现在断开。

首先,连接修改过属性的会话,连上A。

然后,打开数据库客户端,选择刚刚建立的数据库设置连上,好了,如果顺利,你现在打开的就是现场数据库了。

 

提醒一下,如果用这种方式打开数据库,必须保持ssh连接,因为所有的数据是通过ssh连接发送的。

当然这种方法不止限于数据库,大部分内网的服务都可以用这种方式来访问,比如说内网的远程桌面,试一下,这个功能远比你想象的好用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值