网站首页 > 文章精选 正文
需要通过GUI工具远程运维云端数据库,最简便的方式则是通过SSH隧道连接。下面是通过DBeaver CE软件通过SSH隧道连接云端数据库的设置:
PostgreSQL 使用SSH隧道的安全 TCP/IP 连接
可以使用SSH来加密客户端和PostgreSQL服务器之间的网络连接。如果处理得当,这将提供一个足够安全的网络连接,即使是对那些无 SSL 能力的客户端。
首先确认在PostgreSQL服务器的同一台机器上正确运行着一个SSH服务器,并且你可以使用ssh作为某个用户登入;然后,您可以建立到远程服务器的安全隧道。 安全隧道侦听本地端口并将所有流量转发到远程机器上的端口。 发送到远程端口的流量可以到达其 localhost 地址,或者如果需要,可以到达不同的绑定地址; 它似乎不是来自您的本地机器。 此命令创建从客户端机器到远程机器 foo.com 的安全隧道:
ssh -L 63333:localhost:5432 joe@foo.com
-L 参数中的第一个数字 63333 是隧道的本地端口号; 它可以是任何未使用的端口。 (IANA 保留端口 49152 到 65535 供私人使用。)此后的名称或 IP 地址是您要连接到的远程绑定地址,即 localhost,这是默认值。 第二个数字 5432 是隧道的远端,例如,您的数据库服务器正在使用的端口号。 为了使用此隧道连接到数据库服务器,您需要连接到本地机器上的端口 63333:
psql -h localhost -p 63333 postgres
对于数据库服务器,它将把你看做是连接到localhost绑定地址的主机foo.com上的用户joe,并且它将使用为该用户到该绑定地址的连接配置的任何身份验证程序。注意服务器将不会认为连接是 SSL 加密的,因为事实上SSH服务器和PostgreSQL服务器之间没有加密。这不应该造成任何额外的安全风险,因为它们在同一台机器上。
为了让隧道设置成功,你必须允许通过ssh作为joe@foo.com连接,就像你已经尝试使用ssh来创建一个终端会话。
你应当也已经设定好了端口转发:
ssh -L 63333:foo.com:5432 joe@foo.com
但是数据库服务器则将会看到连接从它的foo.com绑定地址进来,它没有被默认设置listen_addresses = 'localhost'所打开。这通常不是你想要的。
如果你必须通过某个登录主机“跳”到数据库服务器,一个可能的设置看起来像:
ssh -L 63333:db.foo.com:5432 joe@shell.foo.com
注意这种从shell.foo.com到db.foo.com的连接的方法将不会被 SSH 隧道加密。当网络被限制于各种方法时,SSH 提供了相当多的配置可能性。详情请参考 SSH 的文档。
猜你喜欢
- 2025-05-21 Zabbix7 keepalived VIP高可用部署 对接 OceanBase高可用集群
- 2025-05-21 GORM 完全指南:从入门到精通,轻松玩转 MySQL 数据库
- 2025-05-21 PostgreSQL 技术内幕(五)Greenplum-Interconnect模块
- 2025-05-21 Windows深度解析: WSL 1 与 WSL 2 的核心差异及选择指南
- 2025-05-21 PostgreSQL技术大讲堂 - 第44讲:pg流复制部署
- 2025-05-21 小白入门必知必会-PostgreSQL-15.2源码编译安装
- 2025-05-21 什么是网络端口?或许工作10年的人也很难100%理解
- 2025-05-21 运维日记|postgresql-利剑出鞘-psql出手,天下我有
- 2025-05-21 Linux 防火墙怎么开?3 分钟学会放行 80 端口,再也不怕远程连接被拒
- 2025-05-21 PostgreSQL轻量级连接池 PgBouncer
- 05-22离线在docker镜像方式部署ragflow0.17.2
- 05-22【Docker 新手入门指南】第七章:镜像使用
- 05-22使用Docker制作OpenJDK镜像
- 05-22使用Dockerfile build镜像
- 05-22一文详解Docker轻量级虚拟化,镜像和容器
- 05-22三 docker 镜像命令
- 05-22Docker-使用Dockerfile 定制镜像
- 05-22Linux日常小技巧Docker打包
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)