使用 SSH 端口轉發安全地連接到遠程系統
SSH 本地端口轉發功能允許您在客戶端和服務器之間創建隧道,加密該客戶端和服務器之間指定端口上的所有通信。防火墻和其他網絡工具通常無法看到這些隧道內部——它們只能看到客戶端和服務器(或網關)之間加密的 SSH(TCP 端口 22)流量。作為安全操作員,您將希望以符合您的安全策略的方式檢測和管理 SSH 的使用。例如,如果某些用戶的規則阻止或過濾 HTTP 和 HTTPS 但不阻止 SSH,則某些用戶可能會使用 SSH 端口轉發來繞過防火墻。
配置 SSH 端口轉發
通過 SSH 的隧道協議非常快速且易于設置和使用。可以集中管理像 OpenSSH 這樣的 SSH 實現,以提供身份驗證和加密功能。例如,您的組織可能會在 Internet 上安裝強化的 SSH 服務器,該服務器僅偵聽運行 SSH 的單個端口。用戶連接到此端口,使用證書、密碼或其他批準的身份驗證方法進行身份驗證。然后他們可以使用 SSH 隧道連接到該服務器上的資源,或者被定向到他們在專用網絡上的目的地。但是,盡管 SSH 隧道很有用,但它確實有局限性,而且它幾乎無法提供專用虛擬專用網絡 (VPN) 設備的功能數量。SSH 隧道在特定情況下很有用,例如專用 VPN 解決方案可能有些矯枉過正的情況。例如,
您可以為本地或遠程端口轉發配置 SSH 隧道。本地端口轉發允許您與遠程服務器建立連接,然后將指定的網絡流量從您的客戶端轉發到該服務器或其他服務器。
配置本地端口轉發
圖 1顯示了本地端口轉發的一個簡單示例。在此示例中,客戶端連接到防火墻,防火墻將 SSH 連接轉發到 SSH 網關,SSH 網關通過 SSH 隧道代理與其他內部服務器和設備的通信。您必須將防火墻配置為將 SSH 網絡流量轉發到運行 SSH 服務器軟件(也稱為 SSH 守護程序)的設備。在許多情況下,不需要其他防火墻規則,也不需要額外的端口轉發。通常,OpenSSH 服務器軟件也不需要任何特殊配置。

圖 1:SSH 本地端口轉發的簡單配置。
要連接到遠程服務器,命令如下所示:
ssh -L 8080:remoteserver:80 username@FirewallExternalInterfaceIP
當您在連接互聯網的客戶端上運行此命令時,它將在 SSH(默認 TCP 端口 22)上連接到防火墻的外部 IP 地址(在上面的選項中記為 FirewallExternalInterfaceIP),它將 SSH 流量轉發到 SSH網關。SSH 網關對用戶(在我們的示例中為用戶名)進行身份驗證,并在客戶端和 SSH 網關之間建立安全的加密通道。
在幕后。SSH 客戶端現在靜靜地監聽端口 8080 上的新連接。要連接到遠程服務器,客戶端打開他們的 Web 瀏覽器并連接到 https://localhost:8080。這指示瀏覽器連接到端口 8080 上的客戶端計算機,這是 SSH 客戶端應用程序偵聽新連接的端點。SSH 客戶端軟件攔截此調用并將其沿著加密隧道發送到 SSH 網關。SSH 網關解密通信并將其轉發到 TCP 端口 80 上的遠程服務器(根據選項 remoteserver:80)。遠程服務器認為它正在接收來自 SSH 網關的請求并響應它。網關加密此響應并將其發送回封裝在 SSH 協議 (TCP 22) 中的客戶端。
本地端口轉發不僅限于網絡請求和瀏覽器。作為另一個示例,這里是通過遠程桌面協議(RDP、TCP 3389)遠程連接到 Windows 服務器的命令。
ssh -L 1234:remoteserver:3389 username@FirewallExternalInterfaceIP
要建立連接,請啟動您的 RDP 客戶端并建立一個到 localhost:1234 的新 RDP 連接。ssh 本地端口轉發將激活,并將導致與指定為 remoteserver 的服務器建立新的 RDP 連接。
請注意,在第二個示例中,客戶端只需運行單獨的 ssh 命令即可連接到不同應用程序上的不同服務器,并且不需要額外的防火墻或 SSH 網關服務器配置。
配置遠程端口轉發
遠程端口轉發類似但相反。使用遠程端口轉發,您的 ssh 客戶端連接到遠程服務器,然后其他人到該遠程服務器的連接將通過 SSH 隧道轉發回您的客戶端。您可以使用遠程端口轉發使您筆記本電腦上的網站對互聯網上的其他人可見,而無需重新配置網絡。
了解有關配置復雜或專用 SSH 隧道的更多信息
這些非常簡單的示例描述了使用 SSH 隧道是多么容易,但對于更復雜或特定的實現也有細微差別和注意事項,您需要了解您的具體實現。查看 https://ssh.com 等資源站點以獲取更多信息。
結論
SSH 端口轉發功能強大、靈活、易于設置,非常適合您需要安全、遠程訪問服務器或網絡的某些情況。
關鍵點:
- SSH 標準和工具支持本地和遠程端口轉發,以啟用客戶端和網關或服務器之間的協議安全隧道。
- 將 SSH 用于協議的安全隧道讓您可以利用其加密和身份驗證功能。
- SSH 隧道提供了一種遠程連接到設備或網關的快速方法。
審核編輯:湯梓紅
-
服務器
+關注
關注
14文章
10321瀏覽量
91657 -
端口
+關注
關注
4文章
1107瀏覽量
34021 -
SSH
+關注
關注
0文章
200瀏覽量
17787
發布評論請先 登錄
無法通過 ssh 訪問怎么解決?
使用fail2ban防御暴力破解的落地實踐
SSH安全加固與免密登錄實戰指南
linux-arm開發環境的簡單配置
探索SSH - G01霍爾效應齒輪齒速與方向傳感器:電子工程師的理想之選
【EASY EAI】基于瑞芯微RV1126B 的SSH調試
SSH與Xshell的本質區別及功能對比
【EASY EAI Nano-TB(RV1126B)開發板試用】通過wifi連接,使用ssh登錄EASY EAI Nano-TB(RV1126B)開發板
飛凌嵌入式ElfBoard-常用的網絡服務的搭建之SSH服務搭建
SSH 遠程連接內網 Linux 服務器
【上海晶珩睿莓1開發板試用體驗】2、系統信息+連接WIFI+SSH調試
Aurix TC36x MTU SSH4 和 SSH9寄存器值錯誤的原因?
精通遠程控制:借助樹莓派釋放 SSH 的強大功能!
SSH遠程登錄與控制教程
SSH第3部分:配置SSH反向隧道以減少暴露的端口
評論