我们常常在开发中,需要连接数据库,然而数据库的安全组,一般都是受限制的(为了做网络隔离,只有特定的网段能够访问),比较好的做法就是通过跳板机或者堡垒机来做代理,以下就是如何在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
Auth栏目导入ppk私钥
Tunnels代理渠道设置
点击Open按钮,建立连接