历史版本。 PostgreSQL 7.4 已结束支持。 请参阅 当前版本手册.
16.8. 使用 SSH 隧道的安全 TCP/IP 连接 #
可以用 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 连接。
提示
还有其他一些应用程序可以用与刚才描述的概念类似的步骤提供安全隧道。