原贴:http://twpug.net/docs/pgsqldoc-7.4-big5/ssh-tunnels.html
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 並且使用為這個用戶設置的認證手段進行認證。 為了保證能夠成功地建立通道,你必須被允許作為 joe@foo.com通過ssh建立聯接, 就象你使用ssh建立終端會話一樣。
提示: 還有幾種不同的產品可以提供安全的通道,所使用的過程類似我們剛剛描述的過程。