现在的系统一般都需要数据库,如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连接发送的。
当然这种方法不止限于数据库,大部分内网的服务都可以用这种方式来访问,比如说内网的远程桌面,试一下,这个功能远比你想象的好用。

- 大小: 36.2 KB

- 大小: 55.6 KB

- 大小: 38.9 KB

- 大小: 9.8 KB
分享到:
相关推荐
本地端口转发是指将远程服务器的端口转发到本地机器上,实现本地访问远程服务器。下面是一个示例配置: 1. telnet-server 服务器配置 首先,需要在 telnet-server 服务器上安装 telnet 服务,并禁用客户端直接访问...
通过Python实现SSH端口转发,能够帮助开发者在不安全的网络环境中安全地访问远程服务,同时也可以方便地调试部署在远程服务器上的应用,提高工作效率。了解并熟练掌握这些技术,对于进行网络编程和系统管理的IT专业...
SSH 隧道(SSH Tunnel)是一种网络隧道技术,允许用户通过加密的 SSH 连接来访问远程服务器上的资源。通过 SSH 隧道,我们可以将远程服务器上的端口映射到本地机器上,使得我们可以像访问本地资源一样访问远程资源。...
通过使用 SSH 命令,可以实现远程服务器的端口映射,使得远程服务器的服务可以被访问。 SSH 端口映射命令: 1. 转发到远端:ssh -C -f -N -g -L 本地端口:目标 IP:目标端口 用户名@目标 IP 2. 转发到本地:ssh -C...
4. **端口转发**:端口转发是网络编程中的一个重要概念,通过将本地端口的请求转发到远程服务器的特定端口,实现远程资源的访问。在 Go-Shipspotter 的情况下,用户可以在本地通过一个特定端口访问远程 Docker 容器...
- **本地端口转发(Local Port Forwarding)**:本地机器上的数据发送到远程服务器,再由远程服务器转发到目标地址。 - **远程端口转发(Remote Port Forwarding)**:远程服务器的数据转发到本地机器,然后由本地...
在Java中,实现SSH2连接远程服务器的功能通常需要借助第三方库,如JSch或Apache MINA。本教程将详细介绍如何使用Java通过SSH2框架连接到远程服务器。 一、JSch库的使用 JSch是一个纯Java实现的SSH2库,它允许开发者...
- **安全远程访问**:通过SSH端口转发,可以安全地访问内网资源,所有数据都经过加密,增加了安全性。 - **负载均衡和代理**:端口转发也可以用于分发流量到多个服务器,或者作为代理服务隐藏后端服务器的IP地址。 ...
2. **安全连接**:SSH(Secure Shell)端口转发可以提供安全的网络连接。通过将本地的端口连接到远程服务器的安全端口,可以加密数据传输,保护隐私和信息安全。 3. **穿透NAT(网络地址转换)**:许多家庭和小型...
4. **隧道功能**:SSH 可以创建安全的隧道(也称为端口转发),允许用户通过不安全的网络安全地访问远程服务。 5. **远程命令执行**:SSH 允许用户在远程计算机上执行命令并接收输出。 6. **文件传输**:SSH 是 SCP...
它提供了一个强大的命令行环境,支持SSH(Secure Shell)、Telnet、Rlogin、Serial等协议,允许用户安全地访问远程服务器或计算机。 ### Xshell的主要特点包括: 1. **SSH支持**:提供安全的远程登录和数据传输。 ...
SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他网络服务。SSH协议基于应用层和传输层,旨在确保...同时,端口转发功能允许用户安全地通过SSH隧道访问受限制或不安全网络上的服务。
例如,你可以设置远程转发,将远程服务器的80端口(HTTP服务)转发到本地的一个端口,这样就可以在本地通过这个端口访问远程服务器上的Web服务。 SSH隧道还可以与其他工具结合使用,如`ProxyJump`选项,它允许通过...
2. **端口转发**:SSH提供端口转发功能,可以将本地端口的流量转发到远程服务器,或者将远程服务器的端口转发到本地。这在穿透防火墙、访问内网资源时非常有用。 3. **会话管理**:SSH客户端通常有会话管理功能,...
接下来我们将详细介绍如何使用Putty和SSH Secure Shell这两款工具来建立SSH隧道,并实现端口转发的功能。 ### 使用Putty建立SSH隧道 #### 步骤1:配置SSH会话参数 1. 打开Putty程序。 2. 在左侧树状菜单中,选择...
在本文中,我们将探讨如何在Python环境下实现WSL 2(Windows Subsystem for Linux 2)的自动Windows主机IP和端口转发,以便能够远程SSH登录到WSL 2并访问其中的服务。首先,让我们了解WSL 2与WSL 1的主要区别。 **...
然而,在某些情况下,比如使用云服务提供商提供的关系型数据库服务(RDS)时,可能需要通过特定的安全措施来访问这些远程数据库,这包括端口转发或跳板机访问。 传统上,对于单线程的手工测试,可以通过客户端工具...
5. **端口转发**:SSH还支持端口转发功能,可以将本地的某个端口流量转发到远程服务器,这对于穿透防火墙、访问内网资源非常有用。 6. **文件传输**:SSH提供`sftp`和`scp`命令,分别用于交互式和命令行方式的安全...
在运维工作中,SSH还常用于其他场景,如文件传输(使用`scp`或`sftp`命令)、远程执行命令(`ssh -t`)和端口转发(SSH隧道),这些都是基于SSH的安全特性。此外,SSH也可用于搭建Git仓库的访问,通过SSH URL进行...
此外,SSH还支持隧道功能,可以将本地端口转发到远程服务器,或者将远程服务器的端口转发到本地。这在访问内网资源或绕过防火墙限制时非常有用。例如,本地端口8080转发到远程服务器的80端口的命令是: ``` ssh -L ...