↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本PostgreSQL 7.1 已于 2006 年 4 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

3.8. 使用 SSH 隧道的安全 TCP/IP 连接 #

致谢

此创意取自 Gene Selkov, Jr. ()于 1999-09-08 回答 Eric Marsden 提问的一封电子邮件。

可以用 ssh 加密客户端与 Postgres 服务器之间的网络连接。做得 正确的话,这应能提供足够安全的网络连接。

首先确保 ssh 服务器在 Postgres 所在的同一台机器上正常运行, 并且你能用 ssh 以某个用户登录。然后,你可以从客户端机器上用这样 的命令建立安全隧道:

> ssh -L 3333:foo.com:5432 joe@foo.com

-L 参数中的第一个数字 3333 是隧道你这一端的端口 号,可以自由选择。第二个数字 5432 是隧道的远端——你的后端正在使用 的端口号。两个端口号之间的名称或地址是你要连接的数据库服务器所在 的主机。要通过此隧道连接数据库服务器,你连接本机的 3333 端口:

psql -h localhost -p 3333 template1

对数据库服务器来说,就像是你是用户 joe@foo.com 一样,服务器会使用为该用户设置的 任何认证过程。为使隧道设置成功,你必须被允许像尝试用 ssh 建立终 端会话那样,以 joe@foo.com 身份通过 ssh 连接。

提示

还有其他一些产品可以用与刚才描述的概念类似的步骤提供安全 隧道。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。