怎么設(shè)置SSH隧道

本篇內(nèi)容主要講解“怎么設(shè)置SSH 隧道”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么設(shè)置SSH 隧道”吧!

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司與策劃設(shè)計(jì),雙柏網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:雙柏等地區(qū)。雙柏做網(wǎng)站價(jià)格咨詢:18982081108


SSH 端口轉(zhuǎn)發(fā)有三種類型:SSH轉(zhuǎn)發(fā)對(duì)于傳輸使用未加密協(xié)議(如VNC或FTP),訪問(wèn)地理限制內(nèi)容或繞過(guò)中間防火墻的服務(wù)的網(wǎng)絡(luò)數(shù)據(jù)非常有用。 基本上,您可以轉(zhuǎn)發(fā)任何TCP端口并通過(guò)安全的SSH連接隧道傳輸流量。

本地端口轉(zhuǎn)發(fā)。 - 將連接從客戶端主機(jī)轉(zhuǎn)發(fā)到 SSH 服務(wù)器主機(jī),然后轉(zhuǎn)發(fā)到目標(biāo)主機(jī)端口。
遠(yuǎn)程端口轉(zhuǎn)發(fā)。 - 將端口從服務(wù)器主機(jī)轉(zhuǎn)發(fā)到客戶端主機(jī),然后轉(zhuǎn)發(fā)到目標(biāo)主機(jī)端口。
動(dòng)態(tài)端口轉(zhuǎn)發(fā)。 - 創(chuàng)建 SOCKS 代理服務(wù)器,允許跨一系列端口進(jìn)行通信。
在本文中,我們將討論如何設(shè)置本地,遠(yuǎn)程和動(dòng)態(tài)加密的 SSH 隧道。

本地端口轉(zhuǎn)發(fā)

本地端口轉(zhuǎn)發(fā)允許您將本地 (ssh 客戶端)計(jì)算機(jī)上的端口轉(zhuǎn)發(fā)到遠(yuǎn)程 (ssh 服務(wù)器)計(jì)算機(jī)上的端口,然后將其轉(zhuǎn)發(fā)到目標(biāo)計(jì)算機(jī)上的端口。

在這種類型的轉(zhuǎn)發(fā)中, SSH 客戶端偵聽(tīng)給定端口,并將與該端口的任何連接隧道連接到遠(yuǎn)程 SSH 服務(wù)器上的指定端口,然后該端口連接到目標(biāo)計(jì)算機(jī)上的端口。目標(biāo)計(jì)算機(jī)可以是遠(yuǎn)程 SSH 服務(wù)器或任何其他計(jì)算機(jī)。

本地端口轉(zhuǎn)發(fā)主要用于連接內(nèi)部網(wǎng)絡(luò)(如數(shù)據(jù)庫(kù)或 VNC 服務(wù)器)上的遠(yuǎn)程服務(wù)。

在  Linux , macOS 和其他 Unix 系統(tǒng)中創(chuàng)建本地端口轉(zhuǎn)發(fā)將 -L 選項(xiàng)傳遞給 ssh 客戶端:

ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER

使用的選項(xiàng)如下:

[LOCAL_IP:]LOCAL_PORT - 本地機(jī)器的 ip 和端口號(hào)。當(dāng) LOCAL_IP 省略 SSH 客戶端會(huì)連接本地主機(jī)。
DESTINATION:DESTINATION_PORT - 目標(biāo)計(jì)算機(jī)的 IP 或主機(jī)名和端口。
[USER@]SERVER_IP - 遠(yuǎn)程 SSH 用戶和服務(wù)器 IP 地址。

LOCAL_PORT 可以使用任何大于 1024 的端口號(hào)。端口號(hào)小于 1024 特權(quán)端口,只能由 root 用戶使用。如果您的 SSH 服務(wù)器正在偵聽(tīng) 22 以外的端口(默認(rèn)值),請(qǐng)使用該 -p [PORT_NUMBER] 選項(xiàng)。

目標(biāo)主機(jī)名必須可從 SSH 服務(wù)器解析。

假設(shè)您在內(nèi)部(專用)網(wǎng)絡(luò)上的計(jì)算機(jī) db001.host 上運(yùn)行 MySQL 數(shù)據(jù)庫(kù)服務(wù)器,在端口 3306 上可以從計(jì)算機(jī)訪問(wèn),并且您希望使用本地計(jì)算機(jī) pub001.host 上的 mysql 客戶端連接到數(shù)據(jù)庫(kù)服務(wù)器。為此,您可以轉(zhuǎn)發(fā)連接,如下所示:

ssh -L 3336:db001.host:3306 user@pub001.host

運(yùn)行該 命令后,系統(tǒng)將提示您輸入遠(yuǎn)程 SSH 用戶密碼。輸入后,您將登錄遠(yuǎn)程服務(wù)器并建立 SSH 隧道。建立基于 SSH 密鑰的身份驗(yàn)證連接到服務(wù)器而不輸入密碼是更好的選擇。

現(xiàn)在,如果您將本地計(jì)算機(jī)數(shù)據(jù)庫(kù)客戶端指向 127.0.0.1:3336 ,則連接將 db001.host:3306 通過(guò) pub001.host 將充當(dāng)中間服務(wù)器的計(jì)算機(jī)轉(zhuǎn)發(fā)到 MySQL 服務(wù)器。

您可以在單個(gè) ssh  命令中將多個(gè)端口轉(zhuǎn)發(fā)到多個(gè)目標(biāo)。例如,您在計(jì)算機(jī)上運(yùn)行另一個(gè) MySQL 數(shù)據(jù)庫(kù)服務(wù)器, db002.host 并且您希望從您將運(yùn)行的本地客戶端連接到兩個(gè)服務(wù)器:

ssh -L 3336:db001.host:3306 3337:db002.host:3306 user@pub001.host

要連接到您將使用的第二臺(tái)服務(wù)器 127.0.0.1:3337 。

目標(biāo)主機(jī)與 SSH 服務(wù)器相同時(shí),而不是指定可以使用的目標(biāo)主機(jī) IP 或主機(jī)名 localhost 。

假設(shè)您需要通過(guò)在同一服務(wù)器上運(yùn)行的 VNC 連接到遠(yuǎn)程計(jì)算機(jī),并且無(wú)法從外部訪問(wèn)它。您將使用的命令是:

ssh -L 5901:127.0.0.1:5901 -N -f user@remote.host

該 -f 選項(xiàng)告訴 ssh 命令在后臺(tái)運(yùn)行而 -N 不是執(zhí)行遠(yuǎn)程命令。我們正在使用, localhost 因?yàn)?VNC 和 SSH 服務(wù)器在同一主機(jī)上運(yùn)行。

如果您在設(shè)置隧道時(shí)遇到問(wèn)題,請(qǐng)檢查遠(yuǎn)程 SSH 服務(wù)器配置并確保 AllowTcpForwarding 未設(shè)置為 no 。默認(rèn)情況下,允許轉(zhuǎn)發(fā)。

遠(yuǎn)程端口轉(zhuǎn)發(fā)

遠(yuǎn)程端口轉(zhuǎn)發(fā)與本地端口轉(zhuǎn)發(fā)相反。它允許您將遠(yuǎn)程 (ssh 服務(wù)器)計(jì)算機(jī)上的端口轉(zhuǎn)發(fā)到本地 (ssh 客戶端)計(jì)算機(jī)上的端口,然后將其轉(zhuǎn)發(fā)到目標(biāo)計(jì)算機(jī)上的端口。

在這種類型的轉(zhuǎn)發(fā)中, SSH 服務(wù)器偵聽(tīng)給定端口,并將與該端口的任何連接隧道連接到本地 SSH 客戶端上的指定端口,然后該端口連接到目標(biāo)計(jì)算機(jī)上的端口。目標(biāo)計(jì)算機(jī)可以是本地計(jì)算機(jī)或任何其他計(jì)算機(jī)。

在 Linux , macOS 和其他 Unix 系統(tǒng)中創(chuàng)建遠(yuǎn)程端口轉(zhuǎn)發(fā)將 -R 選項(xiàng)傳遞給 ssh 客戶端:

ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER

使用的選項(xiàng)如下:

[REMOTE:]REMOTE_PORT - 遠(yuǎn)程 SSH 服務(wù)器上的 IP 和端口號(hào)???REMOTE 表示遠(yuǎn)程 SSH 服務(wù)器將在所有接口上綁定。
DESTINATION:DESTINATION_PORT - 目標(biāo)計(jì)算機(jī)的 IP 或主機(jī)名和端口。
[USER@]SERVER_IP - 遠(yuǎn)程 SSH 用戶和服務(wù)器 IP 地址。
本地端口轉(zhuǎn)發(fā)主要用于從外部向某人提供對(duì)內(nèi)部服務(wù)的訪問(wèn)。

假設(shè)您正在本地計(jì)算機(jī)上開(kāi)發(fā) Web 應(yīng)用程序,并且希望向其他開(kāi)發(fā)人員顯示預(yù)覽。您沒(méi)有公共 IP ,因此其他開(kāi)發(fā)人員無(wú)法通過(guò) Internet 訪問(wèn)該應(yīng)用程序。

如果您可以訪問(wèn)遠(yuǎn)程 SSH 服務(wù)器,則可以按如下方式設(shè)置遠(yuǎn)程端口轉(zhuǎn)發(fā):

ssh -L 8080:127.0.0.1:3000 -N -f user@remote.host

上面的命令將使 ssh 服務(wù)器偵聽(tīng)端口 8080 并將從該端口到端口的本地計(jì)算機(jī)的所有流量隧道傳輸 3000 ?,F(xiàn)在您的開(kāi)發(fā)人員可以輸入 the_ssh_server_ip:8080 他/她的瀏覽器并預(yù)覽您的應(yīng)用程序。如果您有麻煩設(shè)置遠(yuǎn)程端口轉(zhuǎn)發(fā),確保 GatewayPorts 被設(shè)置為 yes 在遠(yuǎn)程 SSH 服務(wù)器配置。

動(dòng)態(tài)端口轉(zhuǎn)發(fā)

動(dòng)態(tài)端口轉(zhuǎn)發(fā)允許您在充當(dāng) SOCKS 代理服務(wù)器的本地 (ssh 客戶端)計(jì)算機(jī)上創(chuàng)建套接字。當(dāng)客戶端連接到此端口時(shí),連接將轉(zhuǎn)發(fā)到遠(yuǎn)程 (ssh 服務(wù)器)計(jì)算機(jī),然后將其轉(zhuǎn)發(fā)到目標(biāo)計(jì)算機(jī)上的動(dòng)態(tài)端口。

這樣,使用 SOCKS 代理的所有應(yīng)用程序?qū)⑦B接到 SSH 服務(wù)器,服務(wù)器將所有流量轉(zhuǎn)發(fā)到其實(shí)際目的地。

在 Linux , macOS 和其他 Unix 系統(tǒng)中創(chuàng)建動(dòng)態(tài)端口轉(zhuǎn)發(fā) (SOCKS) 將 -D 選項(xiàng)傳遞給 ssh 客戶端:

ssh -R [LOCAL_IP:]LOCAL_PORT [USER@]SSH_SERVER

使用的選項(xiàng)如下:

[LOCAL_IP:]LOCAL_PORT - 本地機(jī)器的 ip 和端口號(hào)。當(dāng) LOCAL_IP 省略 SSH 客戶端結(jié)合在本地主機(jī)。
[USER@]SERVER_IP - 遠(yuǎn)程 SSH 用戶和服務(wù)器 IP 地址。
動(dòng)態(tài)端口轉(zhuǎn)發(fā)的典型示例是通過(guò) SSH 服務(wù)器隧道傳輸 Web 瀏覽器流量。

以下命令將在端口上創(chuàng)建 SOCKS 隧道 9090 :

ssh -D 9090 -N -f user@remote.host

建立隧道后,您可以配置應(yīng)用程序以使用它。本文介紹如何配置 Firefox 和 Google Chrome 瀏覽器以使用 SOCKS 代理。必須為要對(duì)其進(jìn)行隧道傳輸?shù)拿總€(gè)應(yīng)用程序單獨(dú)配置端口轉(zhuǎn)發(fā)。

在 Windows 中設(shè)置 SSH 隧道

Windows 用戶可以使用 PuTTY SSH 客戶端創(chuàng)建 SSH 隧道。你可以在這里下載 PuTTY 。

啟動(dòng) Putty 并在 Host name (or IP address) 字段中輸入 SSH 服務(wù)器 IP 地址。

怎么設(shè)置SSH 隧道

在 Connection 菜單下,展開(kāi) SSH 并選擇 Tunnels 。檢查 Local 單選按鈕以設(shè)置本地, Remote 遠(yuǎn)程和 Dynamic 動(dòng)態(tài)端口轉(zhuǎn)發(fā)。

如果設(shè)置本地轉(zhuǎn)發(fā),請(qǐng)?jiān)谠?Source Port 字段中 Destination 輸入本地轉(zhuǎn)發(fā)端口,然后輸入目標(biāo)主機(jī)和 IP ,例如 localhost:5901 。
對(duì)于遠(yuǎn)程端口轉(zhuǎn)發(fā),請(qǐng)?jiān)谠?Source Port 字段中 Destination 輸入遠(yuǎn)程 SSH 服務(wù)器轉(zhuǎn)發(fā)端口,然后輸入目標(biāo)主機(jī)和 IP ,例如 localhost:3000 。
如果設(shè)置動(dòng)態(tài)轉(zhuǎn)發(fā),則僅輸入 Source Port 字段中的本地 SOCKS 端口。

怎么設(shè)置SSH 隧道

單擊 Add 按鈕,如下圖所示。

怎么設(shè)置SSH 隧道

返回 Session 頁(yè)面以保存設(shè)置,這樣您每次都不需要輸入它們。在 Saved Session 字段中輸入會(huì)話名稱,然后單擊 Save 按鈕。

怎么設(shè)置SSH 隧道

選擇已保存的會(huì)話,然后單擊 Open 按鈕登錄遠(yuǎn)程服務(wù)器。

怎么設(shè)置SSH 隧道

將顯示一個(gè)詢問(wèn)您的用戶名和密碼的新窗口。輸入用戶名和密碼后,您將登錄到服務(wù)器并啟動(dòng) SSH 隧道。

設(shè)置公鑰驗(yàn)證將允許您在不輸入密碼的情況下連接到服務(wù)器。

到此,相信大家對(duì)“怎么設(shè)置SSH 隧道”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站欄目:怎么設(shè)置SSH隧道
本文URL:http://muchs.cn/article12/pgdcdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站維護(hù)、網(wǎng)站內(nèi)鏈、域名注冊(cè)面包屑導(dǎo)航、App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開(kāi)發(fā)