使用 SSH 端口轉(zhuǎn)發(fā)安全地連接到遠(yuǎn)程系統(tǒng)
SSH 本地端口轉(zhuǎn)發(fā)功能允許您在客戶端和服務(wù)器之間創(chuàng)建隧道,加密該客戶端和服務(wù)器之間指定端口上的所有通信。防火墻和其他網(wǎng)絡(luò)工具通常無法看到這些隧道內(nèi)部——它們只能看到客戶端和服務(wù)器(或網(wǎng)關(guān))之間加密的 SSH(TCP 端口 22)流量。作為安全操作員,您將希望以符合您的安全策略的方式檢測(cè)和管理 SSH 的使用。例如,如果某些用戶的規(guī)則阻止或過濾 HTTP 和 HTTPS 但不阻止 SSH,則某些用戶可能會(huì)使用 SSH 端口轉(zhuǎn)發(fā)來繞過防火墻。
配置 SSH 端口轉(zhuǎn)發(fā)
通過 SSH 的隧道協(xié)議非??焖偾乙子谠O(shè)置和使用。可以集中管理像 OpenSSH 這樣的 SSH 實(shí)現(xiàn),以提供身份驗(yàn)證和加密功能。例如,您的組織可能會(huì)在 Internet 上安裝強(qiáng)化的 SSH 服務(wù)器,該服務(wù)器僅偵聽運(yùn)行 SSH 的單個(gè)端口。用戶連接到此端口,使用證書、密碼或其他批準(zhǔn)的身份驗(yàn)證方法進(jìn)行身份驗(yàn)證。然后他們可以使用 SSH 隧道連接到該服務(wù)器上的資源,或者被定向到他們?cè)趯S镁W(wǎng)絡(luò)上的目的地。但是,盡管 SSH 隧道很有用,但它確實(shí)有局限性,而且它幾乎無法提供專用虛擬專用網(wǎng)絡(luò) (VPN) 設(shè)備的功能數(shù)量。SSH 隧道在特定情況下很有用,例如專用 VPN 解決方案可能有些矯枉過正的情況。例如,
您可以為本地或遠(yuǎn)程端口轉(zhuǎn)發(fā)配置 SSH 隧道。本地端口轉(zhuǎn)發(fā)允許您與遠(yuǎn)程服務(wù)器建立連接,然后將指定的網(wǎng)絡(luò)流量從您的客戶端轉(zhuǎn)發(fā)到該服務(wù)器或其他服務(wù)器。
配置本地端口轉(zhuǎn)發(fā)
圖 1顯示了本地端口轉(zhuǎn)發(fā)的一個(gè)簡(jiǎn)單示例。在此示例中,客戶端連接到防火墻,防火墻將 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ā)到運(yùn)行 SSH 服務(wù)器軟件(也稱為 SSH 守護(hù)程序)的設(shè)備。在許多情況下,不需要其他防火墻規(guī)則,也不需要額外的端口轉(zhuǎn)發(fā)。通常,OpenSSH 服務(wù)器軟件也不需要任何特殊配置。

圖 1:SSH 本地端口轉(zhuǎn)發(fā)的簡(jiǎn)單配置。
要連接到遠(yuǎn)程服務(wù)器,命令如下所示:
ssh -L 8080:remoteserver:80 username@FirewallExternalInterfaceIP
當(dāng)您在連接互聯(lián)網(wǎng)的客戶端上運(yùn)行此命令時(shí),它將在 SSH(默認(rèn) TCP 端口 22)上連接到防火墻的外部 IP 地址(在上面的選項(xiàng)中記為 FirewallExternalInterfaceIP),它將 SSH 流量轉(zhuǎn)發(fā)到 SSH網(wǎng)關(guān)。SSH 網(wǎng)關(guān)對(duì)用戶(在我們的示例中為用戶名)進(jìn)行身份驗(yàn)證,并在客戶端和 SSH 網(wǎng)關(guān)之間建立安全的加密通道。
在幕后。SSH 客戶端現(xiàn)在靜靜地監(jiān)聽端口 8080 上的新連接。要連接到遠(yuǎn)程服務(wù)器,客戶端打開他們的 Web 瀏覽器并連接到 https://localhost:8080。這指示瀏覽器連接到端口 8080 上的客戶端計(jì)算機(jī),這是 SSH 客戶端應(yīng)用程序偵聽新連接的端點(diǎn)。SSH 客戶端軟件攔截此調(diào)用并將其沿著加密隧道發(fā)送到 SSH 網(wǎng)關(guān)。SSH 網(wǎng)關(guān)解密通信并將其轉(zhuǎn)發(fā)到 TCP 端口 80 上的遠(yuǎn)程服務(wù)器(根據(jù)選項(xiàng) remoteserver:80)。遠(yuǎn)程服務(wù)器認(rèn)為它正在接收來自 SSH 網(wǎng)關(guān)的請(qǐng)求并響應(yīng)它。網(wǎng)關(guān)加密此響應(yīng)并將其發(fā)送回封裝在 SSH 協(xié)議 (TCP 22) 中的客戶端。
本地端口轉(zhuǎn)發(fā)不僅限于網(wǎng)絡(luò)請(qǐng)求和瀏覽器。作為另一個(gè)示例,這里是通過遠(yuǎn)程桌面協(xié)議(RDP、TCP 3389)遠(yuǎn)程連接到 Windows 服務(wù)器的命令。
ssh -L 1234:remoteserver:3389 username@FirewallExternalInterfaceIP
要建立連接,請(qǐng)啟動(dòng)您的 RDP 客戶端并建立一個(gè)到 localhost:1234 的新 RDP 連接。ssh 本地端口轉(zhuǎn)發(fā)將激活,并將導(dǎo)致與指定為 remoteserver 的服務(wù)器建立新的 RDP 連接。
請(qǐng)注意,在第二個(gè)示例中,客戶端只需運(yùn)行單獨(dú)的 ssh 命令即可連接到不同應(yīng)用程序上的不同服務(wù)器,并且不需要額外的防火墻或 SSH 網(wǎng)關(guān)服務(wù)器配置。
配置遠(yuǎn)程端口轉(zhuǎn)發(fā)
遠(yuǎn)程端口轉(zhuǎn)發(fā)類似但相反。使用遠(yuǎn)程端口轉(zhuǎn)發(fā),您的 ssh 客戶端連接到遠(yuǎn)程服務(wù)器,然后其他人到該遠(yuǎn)程服務(wù)器的連接將通過 SSH 隧道轉(zhuǎn)發(fā)回您的客戶端。您可以使用遠(yuǎn)程端口轉(zhuǎn)發(fā)使您筆記本電腦上的網(wǎng)站對(duì)互聯(lián)網(wǎng)上的其他人可見,而無需重新配置網(wǎng)絡(luò)。
了解有關(guān)配置復(fù)雜或?qū)S?SSH 隧道的更多信息
這些非常簡(jiǎn)單的示例描述了使用 SSH 隧道是多么容易,但對(duì)于更復(fù)雜或特定的實(shí)現(xiàn)也有細(xì)微差別和注意事項(xiàng),您需要了解您的具體實(shí)現(xiàn)。查看 https://ssh.com 等資源站點(diǎn)以獲取更多信息。
結(jié)論
SSH 端口轉(zhuǎn)發(fā)功能強(qiáng)大、靈活、易于設(shè)置,非常適合您需要安全、遠(yuǎn)程訪問服務(wù)器或網(wǎng)絡(luò)的某些情況。
關(guān)鍵點(diǎn):
- SSH 標(biāo)準(zhǔn)和工具支持本地和遠(yuǎn)程端口轉(zhuǎn)發(fā),以啟用客戶端和網(wǎng)關(guān)或服務(wù)器之間的協(xié)議安全隧道。
- 將 SSH 用于協(xié)議的安全隧道讓您可以利用其加密和身份驗(yàn)證功能。
- SSH 隧道提供了一種遠(yuǎn)程連接到設(shè)備或網(wǎng)關(guān)的快速方法。
審核編輯:湯梓紅
-
服務(wù)器
+關(guān)注
關(guān)注
13文章
10024瀏覽量
90432 -
端口
+關(guān)注
關(guān)注
4文章
1092瀏覽量
33666 -
SSH
+關(guān)注
關(guān)注
0文章
197瀏覽量
17461
發(fā)布評(píng)論請(qǐng)先 登錄
飛凌嵌入式ElfBoard-常用的網(wǎng)絡(luò)服務(wù)的搭建之SSH服務(wù)搭建
SSH 遠(yuǎn)程連接內(nèi)網(wǎng) Linux 服務(wù)器
Aurix TC36x MTU SSH4 和 SSH9寄存器值錯(cuò)誤的原因?
精通遠(yuǎn)程控制:借助樹莓派釋放 SSH 的強(qiáng)大功能!
SSH遠(yuǎn)程登錄與控制教程
stm32mp遠(yuǎn)程復(fù)制文件ssh不能連接怎么解決?
禁止使用root用戶通過ssh遠(yuǎn)程登錄Linux
深入解析SSH協(xié)議,輕松實(shí)現(xiàn)安全高效的服務(wù)器管理
智能網(wǎng)聯(lián)汽車云控系統(tǒng)第2部分:車云數(shù)據(jù)交互規(guī)范
智能網(wǎng)聯(lián)汽車云控系統(tǒng)第1部分:系統(tǒng)組成及基礎(chǔ)平臺(tái)架構(gòu)
SSH遠(yuǎn)程操作的基本方式
如何在服務(wù)器端自動(dòng)ban掉掃描ssh的IP

SSH第3部分:配置SSH反向隧道以減少暴露的端口
評(píng)論