客户端直连远程数据库(远程数据库只能内网访问,不暴漏外网ip,因此需要先用ssh做端口映射)

技术分享 · Fecmall · 于 5年前 发布 · 2894 次阅读

客户端直连远程数据库(远程数据库只能内网访问,不暴漏外网ip,因此需要先用ssh做端口映射)

场景: 某些数据库为了安全,关闭了外网ip访问,只能内网访问

1.需要连接远程数据库,但远程数据库不开发外网ip访问,只能内网ip访问

2.远程数据库提供内网ip,以及数据的用户名密码,以及ssh信息

3.本地的程序想直连远程数据库,也就是希望和连接外网ip那样直接连接

操作步骤,先用ssh做端口映射,然后访问本地端口就可以访问远程的数据库了

1.创建pem文件

touch /root/pgsql/ssh-keys/tix/tix-id-staging.pem
chmod 400 /root/pgsql/ssh-keys/tix/tix-id-staging.pem

2.复制进去内容

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAoO/IfzWnKT3E6HYR3zUFtPNURb72JkbPu5mrUPA0ziwXa/oDwqRqcO3R9XVG
02GOjJQu7WQI3jQ543hynG4UeekqmQ1awd7L4QOBGsdpQOAWpdCXXjaMqBNAhpwqQBEZ+SbB/CVq
bOUbVZCKITZEbfQQkE7Qj09THyb4xsergwvN/FLOyCGUPr1xxMcUbbtg3sP0Og1zJUb0pM6KgajN
bqyGmTj6Iaz/5nRvTWTql9eClXze5laYa9o2GhrcomplNoCyK08r41rHl/Ctx1VSH7kwR1BZCeyL
7LJRaht7Id+VTOhffb6WQxqfMYxkKxP63ijmQeZEo9uSXo/qnyswYwIDAQABAoIBAB3fhIMAbY/9
NEDGMdkR2YZWKI1tvfkq6cJz6tXyUIr4qjxTw0DtDgj6TB/Y7hWspS45D2DnUbIVVa2AnR2mXUyn
2E1iqjcUaRnScbOL0mDFd869omtNitxj/nU+JaWQxxZ1eEqak1+1Q1alps41aYxTYoO27YW8frxo
moMjaxW+3ZfarLhPp1vlimJCDGTGc4pAt5Aj2N7SuNAzkWKxDDQ1IZWw+qadnR2DtxmvNj4k18ma
QOUjL5npUGKcxxxxxxxxxxxxxxxxxxxtesttest
-----END RSA PRIVATE KEY-----

3.映射

ssh -N -L8091:10.x.x.159:5432 -i /root/pgsql/ssh-keys/tix/tix-id-staging.pem ubuntu@13.x.x.152

8091: 本地的端口

10.x.x.159:5432:远程的内网ip和端口

ubuntu@13.x.x.152:远程的外网和用户名

-i /root/pgsql/ssh-keys/tix/tix-id-staging.pem:密码文件

4.执行连接

pgsql 信息()

DB_NAME=tixid 
DB_USER=tix 
DB_PASSWORD=xxxxx
psql -d tixid -U tix  -p 8091  -h 127.0.0.1

写上密码即可登陆:xxxxx

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics