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

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

不受支持的版本: 7.0
历史版本PostgreSQL 7.0 已于 2005 年 5 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

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 作为你这一端的隧道端口,可以省略端口参数。

提交更正

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