16.8. 用SSH隧道進行安全 TCP/IP 聯接

来源:互联网 发布:文件恢复软件 免费版 编辑:程序博客网 时间:2024/05/17 22:01
原贴:http://twpug.net/docs/pgsqldoc-7.4-big5/ssh-tunnels.html


16.8. 用SSH隧道進行安全 TCP/IP 聯接

我們可以使用 SSHPostgreSQL 服務器和客戶端之間的網絡聯接進行加密。經過適當處理後,這樣做可以獲得一個足夠安全的網絡聯接。

首先確認 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建立終端會話一樣。

提示: 還有幾種不同的產品可以提供安全的通道,所使用的過程類似我們剛剛描述的過程。