使用 SSH 端口轉(zhuǎn)發(fā)安全地連接到遠程系統(tǒng)
SSH 本地端口轉(zhuǎn)發(fā)功能允許您在客戶端和服務(wù)器之間創(chuàng)建隧道,加密該客戶端和服務(wù)器之間指定端口上的所有通信。防火墻和其他網(wǎng)絡(luò)工具通常無法看到這些隧道內(nèi)部——它們只能看到客戶端和服務(wù)器(或網(wǎng)關(guān))之間加密的 SSH(TCP 端口 22)流量。作為安全操作員,您將希望以符合您的安全策略的方式檢測和管理 SSH 的使用。例如,如果某些用戶的規(guī)則阻止或過濾 HTTP 和 HTTPS 但不阻止 SSH,則某些用戶可能會使用 SSH 端口轉(zhuǎn)發(fā)來繞過防火墻。
配置 SSH 端口轉(zhuǎn)發(fā)
通過 SSH 的隧道協(xié)議非??焖偾乙子谠O(shè)置和使用。可以集中管理像 OpenSSH 這樣的 SSH 實現(xiàn),以提供身份驗證和加密功能。例如,您的組織可能會在 Internet 上安裝強化的 SSH 服務(wù)器,該服務(wù)器僅偵聽運行 SSH 的單個端口。用戶連接到此端口,使用證書、密碼或其他批準(zhǔn)的身份驗證方法進行身份驗證。然后他們可以使用 SSH 隧道連接到該服務(wù)器上的資源,或者被定向到他們在專用網(wǎng)絡(luò)上的目的地。但是,盡管 SSH 隧道很有用,但它確實有局限性,而且它幾乎無法提供專用虛擬專用網(wǎng)絡(luò) (VPN) 設(shè)備的功能數(shù)量。SSH 隧道在特定情況下很有用,例如專用 VPN 解決方案可能有些矯枉過正的情況。例如,
您可以為本地或遠程端口轉(zhuǎn)發(fā)配置 SSH 隧道。本地端口轉(zhuǎn)發(fā)允許您與遠程服務(wù)器建立連接,然后將指定的網(wǎng)絡(luò)流量從您的客戶端轉(zhuǎn)發(fā)到該服務(wù)器或其他服務(wù)器。
配置本地端口轉(zhuǎn)發(fā)
圖 1顯示了本地端口轉(zhuǎn)發(fā)的一個簡單示例。在此示例中,客戶端連接到防火墻,防火墻將 SSH 連接轉(zhuǎn)發(fā)到 SSH 網(wǎng)關(guān),SSH 網(wǎng)關(guān)通過 SSH 隧道代理與其他內(nèi)部服務(wù)器和設(shè)備的通信。您必須將防火墻配置為將 SSH 網(wǎng)絡(luò)流量轉(zhuǎn)發(fā)到運行 SSH 服務(wù)器軟件(也稱為 SSH 守護程序)的設(shè)備。在許多情況下,不需要其他防火墻規(guī)則,也不需要額外的端口轉(zhuǎn)發(fā)。通常,OpenSSH 服務(wù)器軟件也不需要任何特殊配置。
圖 1:SSH 本地端口轉(zhuǎn)發(fā)的簡單配置。
要連接到遠程服務(wù)器,命令如下所示:
ssh -L 8080:remoteserver:80 username@FirewallExternalInterfaceIP
當(dāng)您在連接互聯(lián)網(wǎng)的客戶端上運行此命令時,它將在 SSH(默認 TCP 端口 22)上連接到防火墻的外部 IP 地址(在上面的選項中記為 FirewallExternalInterfaceIP),它將 SSH 流量轉(zhuǎn)發(fā)到 SSH網(wǎng)關(guān)。SSH 網(wǎng)關(guān)對用戶(在我們的示例中為用戶名)進行身份驗證,并在客戶端和 SSH 網(wǎng)關(guān)之間建立安全的加密通道。
在幕后。SSH 客戶端現(xiàn)在靜靜地監(jiān)聽端口 8080 上的新連接。要連接到遠程服務(wù)器,客戶端打開他們的 Web 瀏覽器并連接到 https://localhost:8080。這指示瀏覽器連接到端口 8080 上的客戶端計算機,這是 SSH 客戶端應(yīng)用程序偵聽新連接的端點。SSH 客戶端軟件攔截此調(diào)用并將其沿著加密隧道發(fā)送到 SSH 網(wǎng)關(guān)。SSH 網(wǎng)關(guān)解密通信并將其轉(zhuǎn)發(fā)到 TCP 端口 80 上的遠程服務(wù)器(根據(jù)選項 remoteserver:80)。遠程服務(wù)器認為它正在接收來自 SSH 網(wǎng)關(guān)的請求并響應(yīng)它。網(wǎng)關(guān)加密此響應(yīng)并將其發(fā)送回封裝在 SSH 協(xié)議 (TCP 22) 中的客戶端。
本地端口轉(zhuǎn)發(fā)不僅限于網(wǎng)絡(luò)請求和瀏覽器。作為另一個示例,這里是通過遠程桌面協(xié)議(RDP、TCP 3389)遠程連接到 Windows 服務(wù)器的命令。
ssh -L 1234:remoteserver:3389 username@FirewallExternalInterfaceIP
要建立連接,請啟動您的 RDP 客戶端并建立一個到 localhost:1234 的新 RDP 連接。ssh 本地端口轉(zhuǎn)發(fā)將激活,并將導(dǎo)致與指定為 remoteserver 的服務(wù)器建立新的 RDP 連接。
請注意,在第二個示例中,客戶端只需運行單獨的 ssh 命令即可連接到不同應(yīng)用程序上的不同服務(wù)器,并且不需要額外的防火墻或 SSH 網(wǎng)關(guān)服務(wù)器配置。
配置遠程端口轉(zhuǎn)發(fā)
遠程端口轉(zhuǎn)發(fā)類似但相反。使用遠程端口轉(zhuǎn)發(fā),您的 ssh 客戶端連接到遠程服務(wù)器,然后其他人到該遠程服務(wù)器的連接將通過 SSH 隧道轉(zhuǎn)發(fā)回您的客戶端。您可以使用遠程端口轉(zhuǎn)發(fā)使您筆記本電腦上的網(wǎng)站對互聯(lián)網(wǎng)上的其他人可見,而無需重新配置網(wǎng)絡(luò)。
了解有關(guān)配置復(fù)雜或?qū)S?SSH 隧道的更多信息
這些非常簡單的示例描述了使用 SSH 隧道是多么容易,但對于更復(fù)雜或特定的實現(xiàn)也有細微差別和注意事項,您需要了解您的具體實現(xiàn)。查看 https://ssh.com 等資源站點以獲取更多信息。
結(jié)論
SSH 端口轉(zhuǎn)發(fā)功能強大、靈活、易于設(shè)置,非常適合您需要安全、遠程訪問服務(wù)器或網(wǎng)絡(luò)的某些情況。
關(guān)鍵點:
- SSH 標(biāo)準(zhǔn)和工具支持本地和遠程端口轉(zhuǎn)發(fā),以啟用客戶端和網(wǎng)關(guān)或服務(wù)器之間的協(xié)議安全隧道。
- 將 SSH 用于協(xié)議的安全隧道讓您可以利用其加密和身份驗證功能。
- SSH 隧道提供了一種遠程連接到設(shè)備或網(wǎng)關(guān)的快速方法。
審核編輯:湯梓紅
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9307瀏覽量
86071 -
端口
+關(guān)注
關(guān)注
4文章
990瀏覽量
32211 -
SSH
+關(guān)注
關(guān)注
0文章
189瀏覽量
16406
發(fā)布評論請先 登錄
相關(guān)推薦
評論