数据库代理访问

我们常常在开发中,需要连接数据库,然而数据库的安全组,一般都是受限制的(为了做网络隔离,只有特定的网段能够访问),比较好的做法就是通过跳板机或者堡垒机来做代理,以下就是如何在liunx-like系统和windows系统中进行代理访问的配置。

下载私钥

将堡垒机的SSH私秘,下载并保存在本地的私钥目录,例如 ~/.ssh/jump-server-pri.key

###修改权限
chmod 600 ~/.ssh/jump-server-pri.key

Linux-like 系统下

在终端中使用如下的命令, 将在后台建立到数据库的连接通道:

1
ssh -fNT -L 5432:XXXX.rds.cn-northwest-1.amazonaws.com.cn:5432 -i ~/.ssh/jump-server-pri.key dbuser@52.xx.xx.xx

本命令借助了SSH的轻量级代理机制 - -L参数会在本地监听一个端口,转发数据到远程主机上

本地测试

通过如下命令,进行端口监听检查:

1
lsof -nP -i4TCP:5432 | grep LISTEN

本地所有访问127.0.0.1:5432的请求,将被转发到对应的RDS服务器。

Windows 系统下

  • 下载Putty 软件
  • 下载ppk的私钥并保存
  • 设置Putty
    设置1.jpg

  • Auth栏目导入ppk私钥
    认证导入.jpg

  • Tunnels代理渠道设置
    驱动.jpg

  • 点击Open按钮,建立连接
    用户登录.jpg