问题背景:

一些ECS没有访问公网的需求,或是RDS出于安全考虑只允许内网访问。但是希望远程连接这些ECS或RDS进行管理时就会比较麻烦,一般可以通过选一台有公网的ECS搭建VPN的方法来解决这个问题。但是搭建VPN有一定的技术门槛,需要有一定的网络基础,在配置的过程中会遇到很多问题。

这种情况下,可以通过SSH Tunnel的方式来简单的实现对内网ECS和RDS的访问。使用此方案不需要安装额外的软件,不需要配置路由转发,可以大大降低配置和使用的技术门槛。

解决方案:

通过putty和 有公网IP的ECS之间建立ssh隧道,然后通过本地端口转发,实现在客户PC终端上对内网ECS和RDS的直接访问,为客户的远程管理提供了巨大的方便

配置方法:

1.前置条件:

a)客户PC终端可以ssh登录有公网的ECS服务器。
b)有公网的ECS服务器可以通过内网访问其他内网ECS服务器。
c)有公网的ECS服务器可以通过内网访问RDS(ECS的内网IP在RDS的白名单中)

2,客户端配置

a)客户端使用putty,填写有公网ECS的IP及ssh端口

b)设置ssh tunnel,Source Port是PC本地监听的端口。Destination填写内网ECS服务器的内网地址及端口。然后点击“Add”,就会生成一个端口转发记录,然后点击“Open”会打开SSH连接。

c)在弹出的窗口中输入正常SSH登录有公网IP的ECS服务器

d)这时在客户PC终端上使用netstat -an命令应该可以看到一个127.0.0.1的22端口的本地监听。

e)通过连接这个本地端口就可以连接到内网的ECS服务器上了。

f)这个方法同样适用于windows系统(为了不与客户PC终端的端口冲突,这里使用了33389端口作为本地监听端口)

g)内网的RDS也没有问题

h)可以在客户PC终端直接使用数据库客户端程序来连接RDS中的数据库,非常方便。

在SecureCRT中这个功能叫做“端口转发”,进行类似的配置后也可以实现同样的功能。

参考

[svc]通过ssh tunnel连接内网ECS和RDS的更多相关文章

  1. 通过ssh tunnel连接内网ECS和RDS

    通过ssh tunnel连接内网ECS和RDS 这里讲了ssh tunnel的原理.很清晰. 此后又给外网访问内网增加了一种思路.感觉特别棒. 拓宽了思路:

  2. 使用putty进行ssh tunnel远程内网机器

    通常我们通过登录具有外网ip的远程机器来连接内网的机器:本文介绍,通过putty进行ssh tunnel,进而达到使用本机直接连接远程内网机器: 1,在putty中创建一个session,输入具有外网 ...

  3. 通过ssh管道连接内网数据库(mysql)

    公网连接内网数据库(如云数据库)时,通常需要白名单:如果不是白名单IP,通常需要一个跳板机(类似代理)来连接内网数据库, 下方以mysql为例(其他数据库基本一致): import pymysql a ...

  4. ssh反向连接内网主机

    holer听别人说也挺好用不过本人没试过:https://github.com/Wisdom-Projects/holer 利用autossh建立稳定隧道,前提双方互加公钥信任. # yum inst ...

  5. 使用pycharm、跳板机连接内网服务器

    使用pycharm.跳板机连接内网服务器 接手实验室服务器后,大部分同学在GPU集群上跑程序都是直接在ssh界面上跑,这里想着通过pycharm通过跳板机来连接服务器. 总体就是实验室服务器仅限内网访 ...

  6. 配置windows路由表,使电脑同时连接内网外网方法

    1.环境一(系统:windows xp,内网.外网不是同一类地址,内网地址固定): 外网:通过笔记本的无线网卡连接: 内网:通过笔记本的本地连接: 第一步,连接网线,配置本地连接地址,注意IP地址不要 ...

  7. [转] 如何设置双网卡同时连接内网外网_bpao_新浪博客

    已剪辑自: http://blog.sina.com.cn/s/blog_5d3e229c0100skwe.html 如何设置双网卡同时连接内网外网 . 通过无线网络连接外网,确保连接成功后开始第二步 ...

  8. Navicat 或者Java的JDBC通过SSH Tunnel连接MySQL数据库

    JDBC通过SSH Tunnel连接MySQL数据库 - 明明 - CSDN博客https://blog.csdn.net/a351945755/article/details/21782693 Na ...

  9. 【转】配置windows路由表,使电脑同时连接内网外网方法

    1. 公司内部,内网和外网的网关不一样,怎么样让电脑可以同时上内网和外网呢? 来一张不相关的磁盘结构图: ----------------------------------------------- ...

随机推荐

  1. java 实现md5加密的三种方式与解密

      java 实现md5加密的三种方式 CreateTime--2018年5月31日15点04分 Author:Marydon 一.解密 说明:截止文章发布,Java没有实现解密,但是已有网站可以免费 ...

  2. java 封装02

    //Person.java public class Person{ private String name; private int age; private String sex; public ...

  3. RHEL7 MariaDB测试

    MariaDB安装及启动: yum groupinstall mariadb 启动mariadb systemctl restart mariadb systemctl enable mariadb ...

  4. Inno Setup入门(三)——指定压缩方式

    Setup段中的compression指定了采用的压缩方式,较高的压缩率需要较多的时间或者需要更大的内存空间,可用的值如下: zip zip/1到zip/9 bzip bzip/1 到bzip/9 l ...

  5. Oracle 中TNS的作用

    什么是TNS? TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和client连接的一个工具,在大多数情况下client和数据库要通讯,必须配置TNS,当然在少数情况下,不用 ...

  6. 【jquery】多日期选择插件easyui date

    1.本次介绍一个好用的 多日期选择插件:EasyUI date,适用于:需要一次性选择多个日期,无需手动一个一个进行添加. 2.效果图: 3.下载地址:http://www.jeasyui.com/d ...

  7. Android 圆角输入框

        draweable文件下建立一个名字为shape的XML文件:   <shape xmlns:android="http://schemas.android.com/apk/r ...

  8. Netty-gRPC介绍和使用

    转自:http://www.saily.top/2017/07/23/netty5/ gRPC Define your service using Protocol Buffers, a powerf ...

  9. HDU 4632 Palindrome subsequence (区间DP)

    Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65535 K (Java/ ...

  10. Java8 lambda表达式10个示例

    Java 8 刚于几周前发布,日期是2014年3月18日,这次开创性的发布在Java社区引发了不少讨论,并让大家感到激动.特性之一便是随同发布的lambda表达式,它将允许我们将行为传到函数里.在Ja ...