↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 7.0
历史版本。 PostgreSQL 7.0 已结束支持。 请参阅 当前版本手册.

28.5. 安全的 TCP/IP 连接

作者

摘自Gene Selkov, Jr. 1999-09-08 回答 Eric Marsden 一个问题的电子邮件。

可以使用ssh加密客户端与 Postgres服务器之间的网络连接。做得恰当的话,这应当能带来足够安全的网络连接。

ssh的文档提供了入门所需的大部分信息。请参阅 http://www.heimhardt.de/htdocs/ssh.html 以获得更好的理解。

分步说明只需两步。

通过 ssh 运行安全隧道

分步说明只需两步。

  1. 像这样建立一条到后端机器的隧道:

    ssh -L 3333:wit.mcs.anl.gov:5432 postgres@wit.mcs.anl.gov
          

    -L 参数中的第一个数字 3333 是你这一端隧道的端口号。第二个数字 5432 是隧道的远端——你的后端正在使用的端口号。两个端口号之间的名称或地址属于服务器机器,ssh 的最后一个参数也是如此,后者还包含可选的用户名。如果没有用户名,ssh 将尝试你在客户端机器上当前登录所用的名字。你可以使用服务器机器接受的任何用户名,不一定非是与 postgres 相关的名字。

  2. 现在你有了一个运行中的 ssh 会话,可以把 postgres 客户端连接到你本地主机上一步中指定的端口号。如果是 psql,你将需要另一个 shell,因为你在步骤 1中使用的 shell 会话现在被ssh占用了。

    psql -h localhost -p 3333 -d mpw
          

    注意,你必须指定-h参数才能使你的客户端使用 TCP 套接字而不是 Unix 套接字。如果你选择 5432 作为你这一端的隧道端口,可以省略端口参数。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.