<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 端口轉發 SSH 除了登錄服務器,還有一大用途,就是作為加密通信的中介,充當兩臺服務器之間的通信加密跳板,使得原本不加密的通信變成加密通信 這個功能稱為端口轉發(port forwarding),又稱 SSH 隧道(tunnel) <br/> 端口轉發有兩個主要作用: 1. 將不加密的數據放在 SSH 安全連接里面傳輸,使得原本不安全的網絡服務增加了安全性,比如通過端口轉發訪問 Telnet、FTP 等明文服務,數據傳輸就都會加密。 2. 作為數據通信的加密跳板,繞過網絡防火墻 端口轉發有三種使用方法:動態轉發,本地轉發,遠程轉發 ## 三種使用方法 ### 動態轉發 動態轉發指的是,本機與 SSH 服務器之間創建了一個加密連接,然后本機內部針對某個端口的通信,都通過這個加密連接轉發 場景: - 訪問所有外部網站,都通過 SSH 轉發 - 可用于代理上網 語法 ``` ssh -D local-port tunnel-host -N tunnel-host 是 SSH 服務器 local-port 是本地端口 -D 表示動態轉發 -N 表示只進行端口轉發,不登錄遠程 Shell ``` 如果經常使用動態轉發,可以將設置寫入 SSH 客戶端的用戶個人配置文件。 ``` DynamicForward tunnel-host:local-port ``` #### 實例:VPN 假設: - 你的PC 不能自由聯網 - 但你的PC 可以訪問機器B - 機器B 可以自由聯網 ``` ssh -D 8080 root@B機器的IP ``` 測試 ``` curl -x socks5://127.0.0.1:8080 http://www.example.com ``` 或者在瀏覽器的代理插件中設置socks5代理 可通過"xshell->屬性->連接->SSH->隧道->SOCKS4/5"連接 ### 本地轉發 SSH 服務器作為中介的跳板機,建立本地計算機與**特定目標**網站之間的加密連接 語法 ``` ssh -L local-port:target-host:target-port [-L ...] tunnel-host -L 參數表示本地轉發(L可以使用多個 local-port 本地端口 target-host 你想要訪問的目標服務器 target-port 目標服務器的端口 tunnel-host SSH 跳板機 ``` 如果經常使用本地轉發,可以將設置寫入 SSH 客戶端的用戶個人配置文件。 ``` Host test.example.com LocalForward client-IP:client-port server-IP:server-port ``` #### 實例:跳板機 ``` ssh -L 2121:192.168.0.91:8000 -L 443:192.168.0.91:443 root@192.168.0.126 -N ``` 0.91是要訪問的機器,0.126是跳板機,通過訪問`http://127.0.0.1:2121`既可以訪問0.91的8000端口 > 本地端口轉發采用 HTTP 協議,不用轉成 SOCKS5 協議 ### 遠程轉發 本地計算機在外網,SSH 跳板機和目標服務器都在內網,而且本地計算機無法訪問內網之中的 SSH 跳板機,但是 SSH 跳板機可以訪問本機計算機 語法 ``` ssh -R local-port:target-host:target-port local -N -R 表示遠程端口轉發 local-port 本地計算機的端口 target-host 目標服務器 target-port 目標端口 local 本地計算機(本機也需要安裝 sshd) ``` > SSH 跳板機執行,從跳板機去連接本地計算機,本地計算機才可以訪問目標機器 如果經常執行遠程端口轉發,可以將設置寫入 SSH 客戶端的用戶個人配置文件。 ``` Host test.example.com RemoteForward local-IP:local-port target-ip:target-port ``` #### 實例 在跳板機執行 ``` ssh -R 2121:www.example.com:80 root@192.168.0.130 -N ``` 0.130為本地機器,跳板機主動連接本機后,本機才可以通過訪問`curl http://localhost:2121`訪問www.examlpe.com:80
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看