GB | BIG5
|
| 首頁 > 應用技術 > 其它 > 正文 |
 |
| 如何使用SSH的Port Forwarding加密不安全的服務 |
| 本文出自:http://www.linuxforum.net/ 作者: 吳阿亭 Jephe (2001-09-12 12:00:00) |
一。簡介:
大多數人知道SSH是用來替代R命令集,是用加密的遠程登錄,文件傳輸,甚至加密的
FTP(SSH2內置), 因此SSH成為使用極廣的服務之一,不僅如此,SSH還有另一項非常有
用的功能,就是它的端口轉發隧道功能,利用此功能,讓一些不安全的服務象POP3,
SMTP,FTP,LDAP等等通過SSH的加密隧道傳輸,然,既然這些服務本身是不安全的,
密碼和內容是明文傳送的,現在其它中間媒介也沒無監聽了。
二。圖示:
SSH的加密隧道保護的只是中間傳輸的安全性,使得任何通常的嗅探工具軟件無法獲取發
送內容。如下圖:
假設客戶機和服務器都運行Linux,且以POP3為例。
C (pop3 server: S) S
_______ ________
| | | |
| |________POP3___________ >| |
|_____| |______|
(圖一:正常的POP3)
(圖一:正常的POP3)
C (pop3 server:C) S (pop3 client: S)
_______ ________
| | | |
| |--------SSH連接--------->| |
|_____| |______|
(圖二:SSH隧道的POP3)
如圖一: 正常的POP3連接是客戶C向服務器S進行連接,C的設置是POP3服務器為S。
如圖二: 用SSH隧道的話,客戶C設置pop3服務器為自己(localhost),然設置SSH加密
隧道
,如果設置在同樣的端口110聽取C的請求,則對C來說,pop3服務器是自己本身,端口也
是110 對S來說,看到的pop3請求地址不是來自C,而也是自己本身,因為有了SSH隧道。
三。SSH隧道設置
1. 首先必須在C和S上安裝SSH,確保SSH首先能工作。
2. 我們用簡單的一個命令如下:
# ssh -C -P -f sshaccount@S -L 110:S:110 sleep 7200
解釋如下:
-C 使用壓縮功能,是可選的,加快速度。
-P 用一個非特權端口進行出去的連接。
-f 一旦SSH完成認証並建立port forwarding,則轉入台運行。
sshaccount 客戶C在服務器S上的SSH連接帳號
-L 110:S:110 轉發C對本地端口110的連接到遠程服務器S的110端口。
也可以用高端端口(普通用戶使用,因為普通用戶不能在低1024的端口上建立SSH隧道)
如果用高端端口,如:-L 1110:S:110,這樣任何用戶都可建立這種加密隧道。
sleep 7200 一般用script,必須給一個命令,我們給一個sleep等待空 命令,這裡為
2小時,你可以
設為更長用保持整個連接過程, 如 sleep 100000000 。
四。檢驗
設置你就可以在客戶C上用 # telnet localhost 110 命令而連到 S 上收取email,
而整個過程也被加密。
五。其它常見問題:
1. 每次啟動該命令時需要輸入密碼以驗証SSH連接,你也可以用RSA鍵對的方法自動化
SSH連接。
看文章薈萃中的另一篇文章《如何在兩台linux服務器之間用RSA鍵對的方法SSH/SCP不需
密碼》
2. 如果你希望上面的命令永遠保持運行狀態,你可以用如下的scripts.
#!/bin/sh
while [ 1 ] ; do
ssh -C -P -f sshaccount@S -L 110:S:110 sleep 7200
sleep 1
done
3. 你可以在一個命令中用多個L 參數 ,如 -L 1110:S:110 -L 225:S:25 -L
389:S:389
4. 一些windows客戶端軟件,象netscape mail,不能改變pop3端口號,被強迫到110,
則你只能指定110
5. Linux下的fetchmail常用來自動接收郵件,可在.fetchmailrc中利用
preconnect參數預連接 ,指定上面的命令行。
6. 如果客戶端是windows, 則可用tera Term pro,參考
http://www.phys.washington.edu/Computing/winftpssh.html
吳阿亭
END
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
如何使用SSH的Port Forwarding加密不安全的服務 (2001-09-12 12:00:00) SSH使用及協議分析 (2001-09-12 07:00:01) 遠程連接(telnet/ftp/rsh/ssh)作為root的用法和總結 (2001-09-02 13:05:00) 安裝配置SSH(Secure Shell) (2001-06-25 17:04:00) SSH protocol 1.5 會話密鑰可被恢復 (2001-05-21 10:08:01) 如何在 Linux 上安裝、使用 SSH2 (2001-05-10 20:28:41) How to Run SSH2 on RedHat 6.2 (2001-04-21 18:05:54) Linux系統中OpenSSH的安裝和配置 (2001-04-19 16:14:25)
|
|
|
|
 |
★ 樊強制作 歡迎分享 ★ |