`
qn_lf
  • 浏览: 126075 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

用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连接发送的。

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

  • 大小: 36.2 KB
  • 大小: 55.6 KB
  • 大小: 38.9 KB
  • 大小: 9.8 KB
分享到:
评论
4 楼 skzr.org 2011-01-10  
qn_lf 写道
skzr.org 写道
A机器的ssh无法直接访问,内网的ubuntu server的ssh已经安装了,不知道ssh的反向连接是啥?
家里的client pc可以完全暴露端口到adsl线路上
那个client的ubuntu下有securtCRT没?



前提是在家可以访问公司任何一台机子的ssh服务,可通过防火墙进行端口映射


不用,家里开启ssh服务,公司机器利用反向转发连接家里的机器,就可以了
具体案例可以参考:远程控制内网机器
3 楼 qn_lf 2011-01-10  
skzr.org 写道
A机器的ssh无法直接访问,内网的ubuntu server的ssh已经安装了,不知道ssh的反向连接是啥?
家里的client pc可以完全暴露端口到adsl线路上
那个client的ubuntu下有securtCRT没?



前提是在家可以访问公司任何一台机子的ssh服务,可通过防火墙进行端口映射
2 楼 skzr.org 2011-01-05  
非常感谢你的热情
1 楼 skzr.org 2011-01-05  
A机器的ssh无法直接访问,内网的ubuntu server的ssh已经安装了,不知道ssh的反向连接是啥?
家里的client pc可以完全暴露端口到adsl线路上
那个client的ubuntu下有securtCRT没?

相关推荐

    SSH如何实现本地远程端口转发

    本地端口转发是指将远程服务器的端口转发到本地机器上,实现本地访问远程服务器。下面是一个示例配置: 1. telnet-server 服务器配置 首先,需要在 telnet-server 服务器上安装 telnet 服务,并禁用客户端直接访问...

    Python-通过SSH共享本地主机使得本地远程端口转发变得容易

    通过Python实现SSH端口转发,能够帮助开发者在不安全的网络环境中安全地访问远程服务,同时也可以方便地调试部署在远程服务器上的应用,提高工作效率。了解并熟练掌握这些技术,对于进行网络编程和系统管理的IT专业...

    putty代理设置,映射远程服务器端口至本地

    SSH 隧道(SSH Tunnel)是一种网络隧道技术,允许用户通过加密的 SSH 连接来访问远程服务器上的资源。通过 SSH 隧道,我们可以将远程服务器上的端口映射到本地机器上,使得我们可以像访问本地资源一样访问远程资源。...

    在Linux系统下使用SSH实现端口映射的方法.docx

    通过使用 SSH 命令,可以实现远程服务器的端口映射,使得远程服务器的服务可以被访问。 SSH 端口映射命令: 1. 转发到远端:ssh -C -f -N -g -L 本地端口:目标 IP:目标端口 用户名@目标 IP 2. 转发到本地:ssh -C...

    Go-Shipspotter-用于通过SSH将端口隧道转发到远程Docker容器的工具

    4. **端口转发**:端口转发是网络编程中的一个重要概念,通过将本地端口的请求转发到远程服务器的特定端口,实现远程资源的访问。在 Go-Shipspotter 的情况下,用户可以在本地通过一个特定端口访问远程 Docker 容器...

    端口转发源码

    - **本地端口转发(Local Port Forwarding)**:本地机器上的数据发送到远程服务器,再由远程服务器转发到目标地址。 - **远程端口转发(Remote Port Forwarding)**:远程服务器的数据转发到本地机器,然后由本地...

    SSH2 java连接远程服务器框架

    在Java中,实现SSH2连接远程服务器的功能通常需要借助第三方库,如JSch或Apache MINA。本教程将详细介绍如何使用Java通过SSH2框架连接到远程服务器。 一、JSch库的使用 JSch是一个纯Java实现的SSH2库,它允许开发者...

    windows 端口转发.zip

    - **安全远程访问**:通过SSH端口转发,可以安全地访问内网资源,所有数据都经过加密,增加了安全性。 - **负载均衡和代理**:端口转发也可以用于分发流量到多个服务器,或者作为代理服务隐藏后端服务器的IP地址。 ...

    端口转发工具

    2. **安全连接**:SSH(Secure Shell)端口转发可以提供安全的网络连接。通过将本地的端口连接到远程服务器的安全端口,可以加密数据传输,保护隐私和信息安全。 3. **穿透NAT(网络地址转换)**:许多家庭和小型...

    SSH X11转发:远程图形界面的桥梁

    4. **隧道功能**:SSH 可以创建安全的隧道(也称为端口转发),允许用户通过不安全的网络安全地访问远程服务。 5. **远程命令执行**:SSH 允许用户在远程计算机上执行命令并接收输出。 6. **文件传输**:SSH 是 SCP...

    动态端口转发:Xshell中的数据隧道秘籍

    它提供了一个强大的命令行环境,支持SSH(Secure Shell)、Telnet、Rlogin、Serial等协议,允许用户安全地访问远程服务器或计算机。 ### Xshell的主要特点包括: 1. **SSH支持**:提供安全的远程登录和数据传输。 ...

    SSH远程登录和端口转发详解

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他网络服务。SSH协议基于应用层和传输层,旨在确保...同时,端口转发功能允许用户安全地通过SSH隧道访问受限制或不安全网络上的服务。

    ssh隧道

    例如,你可以设置远程转发,将远程服务器的80端口(HTTP服务)转发到本地的一个端口,这样就可以在本地通过这个端口访问远程服务器上的Web服务。 SSH隧道还可以与其他工具结合使用,如`ProxyJump`选项,它允许通过...

    SSH 远程操作计算器神器

    2. **端口转发**:SSH提供端口转发功能,可以将本地端口的流量转发到远程服务器,或者将远程服务器的端口转发到本地。这在穿透防火墙、访问内网资源时非常有用。 3. **会话管理**:SSH客户端通常有会话管理功能,...

    SSH隧道管理内部服务器putty,ssh secure shell

    接下来我们将详细介绍如何使用Putty和SSH Secure Shell这两款工具来建立SSH隧道,并实现端口转发的功能。 ### 使用Putty建立SSH隧道 #### 步骤1:配置SSH会话参数 1. 打开Putty程序。 2. 在左侧树状菜单中,选择...

    Python 实现 WSL 2 自动 Windows 主机IP和端口转发,可远程 SSH 登录和访问

    在本文中,我们将探讨如何在Python环境下实现WSL 2(Windows Subsystem for Linux 2)的自动Windows主机IP和端口转发,以便能够远程SSH登录到WSL 2并访问其中的服务。首先,让我们了解WSL 2与WSL 1的主要区别。 **...

    利用jmeter java请求开启端口转发对远程数据库进行压力测试.docx

    然而,在某些情况下,比如使用云服务提供商提供的关系型数据库服务(RDS)时,可能需要通过特定的安全措施来访问这些远程数据库,这包括端口转发或跳板机访问。 传统上,对于单线程的手工测试,可以通过客户端工具...

    Linux远程访问工具,支持ssh服务

    5. **端口转发**:SSH还支持端口转发功能,可以将本地的某个端口流量转发到远程服务器,这对于穿透防火墙、访问内网资源非常有用。 6. **文件传输**:SSH提供`sftp`和`scp`命令,分别用于交互式和命令行方式的安全...

    ssh远程登录服务器软件

    在运维工作中,SSH还常用于其他场景,如文件传输(使用`scp`或`sftp`命令)、远程执行命令(`ssh -t`)和端口转发(SSH隧道),这些都是基于SSH的安全特性。此外,SSH也可用于搭建Git仓库的访问,通过SSH URL进行...

    sshshell.zip

    此外,SSH还支持隧道功能,可以将本地端口转发到远程服务器,或者将远程服务器的端口转发到本地。这在访问内网资源或绕过防火墙限制时非常有用。例如,本地端口8080转发到远程服务器的80端口的命令是: ``` ssh -L ...

Global site tag (gtag.js) - Google Analytics