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

深入解析SSH協(xié)議,輕松實現(xiàn)安全高效的服務器管理
SSH遠程操作的基本方式

交換機如何配置SSH遠程登錄

評論