pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
此创意取自 Gene Selkov, Jr. (<selkovjr@mcs.anl.gov>)于 1999-09-08 回答 Eric Marsden 提问的一封电子邮件。
可以用 SSH 加密客户端与 PostgreSQL 服务器之间的网络连接。做得 正确的话,这能提供足够安全的网络连接。
首先确保 SSH 服务器在 PostgreSQL 所在的同一台机器上正常运行, 并且你能用 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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。