從外網 SSH 進區域網,反向代理+正向代理解決方案
ssh -f -N -D 127.0.0.1:1080 [email protected] -p 22
ssh -CNfg -L 1081:localhost:1080 [email protected]
轉:https://segmentfault.com/a/1190000002718360
相信很多同學都會碰到這樣一個問題。在實驗室有一臺機器用於日常工作,當我回家了或者回宿舍之後因為沒法進入內網,所以訪問不到了。如果這個時候我需要 SSH 進去做一下工作,那麼怎麼解決這個問題呢?本文將給出一種使用 SSH 的代理功能的解決方案。
問題描述:
機器狀況
機器號 | IP | 使用者名稱 | 備註 |
---|---|---|---|
A | 192.168.0.A | usr_a | 目標伺服器,在區域網中,可以訪問 A |
B | B.B.B.B | usr_b | 代理伺服器,在外網中,無法訪問 A |
C | - | - | 可以直接訪問 B,無法直接訪問 A |
目標
從 C 機器使用 SSH 訪問 A
解決方案
在 A 機器上做到 B 機器的反向代理;在 B 機器上做正向代理本地埠轉發
環境需求
- 每臺機器上都需要 SSH 客戶端
-
A、B 兩臺機器上需要 SSH 伺服器端。通常是 openssh-server。
在 Ubuntu 上安裝過程為
sudo apt-get install openssl-server
實施步驟
-
建立 A 機器到 B 機器的反向代理【A 機器上操作】
ssh -fCNR <port_b1>:localhost:22 [email protected]
<port_b1>
為 B 機器上埠,用來與 A 機器上的22埠繫結。 -
建立 B 機器上的正向代理,用作本地轉發。做這一步是因為繫結後的 埠只支援本地訪問【B 機器上操作】
ssh -fCNL "*:<port_b2>:localhost:<port_b1>' localhost
<port_b2>
為本地轉發埠,用以和外網通訊,並將資料轉發到<port_b1>
,實現可以從其他機器訪問。其中的
*
表示接受來自任意機器的訪問。 -
現在在 C 機器上可以通過 B 機器 ssh 到 A 機器
ssh -p <portb2> [email protected]
至此方案完成。
附:
SSH 引數解釋
-f 後臺執行
-C 允許壓縮資料
-N 不執行任何命令
-R 將埠繫結到遠端伺服器,反向代理
-L 將埠繫結到本地客戶端,正向代理
相關推薦
從外網 SSH 進區域網,反向代理+正向代理解決方案
ssh -f -N -D 127.0.0.1:1080 [email protected] -p 22 ssh -CNfg -L 1081:localhost:1080 [email protected] 轉:https://segmentfault.
利用ssh反向代理以及autossh實現從外網連接內網服務器
作用 鏈接 沒有 AI tail oca 麻煩 版本 正向代理 1. 描述一下目前的機器狀況,梳理梳理: 機器 IP 用戶名 備註 A 10.21.32.106 gdut728 目標服務器,處於內網 B 123.123.123.123 root 外網服
利用反向SSH從外網訪問內網伺服器
學院的伺服器在學院的內網,出了學院就不能訪問,在宿舍、家裡學習很不方便沒有伺服器的話。之前一直用TeamViewer,但是用著不舒服。最近新找到一個辦法,就是利用外網伺服器以及反向SSH搭一條通道,使
利用ssh反向代理以及autossh實現從外網連線內網伺服器
前言 最近遇到這樣一個問題,我在實驗室架設了一臺伺服器,給師弟或者小夥伴練習Linux用,然後平時在實驗室這邊直接連線是沒有問題的,都是內網嘛。但是回到宿舍問題出來了,使用校園網的童鞋還是能連線上,使用外網的小土豪就沒有辦法進入內網。這時能不能有一個辦法可以使得通過外
如何從外網訪問區域網內Linux系統?
內網主機上安裝了Linux系統,只能在區域網內訪問到,怎樣從外網也能訪問到內網的Linux系統呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 啟動Linux系統 預設Linux系統ssh埠是22。 2. 實現步驟 2.1 下載並解壓holer軟體包 Holer
怎樣從外網訪問區域網網站
外網訪問內網網站 本地搭建了網站,只能在區域網內訪問,怎樣從外網也能訪問本地網站? 本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝並啟動網站服務端 預設搭建的網站服務端埠是80。 2. 實現步驟 2.1 下載並解壓holer軟體包 Holer軟體包:holer-xxx.tar.gz
通過內網穿透實現外網訪問Tomcat區域網伺服器,
這幾天正在做一個小專案,專案需要搭建本地伺服器並且外網可以訪問到伺服器指定的檔案,這只是專案的開端,想發篇部落格記分享一下。由於我的網路是校園網所以必須要進行內網穿透,這樣外網才能訪問區域網主機。好的,那麼讓我來說一下具體的實現流程哈。主要軟體Tomcat7,Sun-Ngro
ubuntu下搭建vsftpd,實現從外網訪問到內網ftp伺服器
sudo apt install openssh-server可以先安裝一下ssh服務,以後可以用winscp傳送資料。 情景 @1 先安裝vsftpd。網上有教程可找。可以參考如下: http://www.linuxidc.com/Linux/2016-12/138563
服務器能遠程連接,網絡連接正常,但是外網域名Ping不通,瀏覽器中打不開網站
CP BE 網站 打不開 屬性 地址 dns設置 本地 否則 服務器能遠程連接成功,但在瀏覽器中打不開任何網站,出現這個問題一般是安裝什麽軟件引起IE的相關設置做了變動或者是服務器中了病毒引起的,或是服務器的DNS設置是錯誤的。 一、先檢查服務器DNS是否正確
從外網訪問使用Padavan固件的路由器(花生殼DDNS配置教程)
.html htm 標簽頁 保留 pad 外網 配置教程 blank 由器 家裏有個使用老毛子固件(Padavan)的路由器。為了能在公司也能訪問到路由器,或者家裏的電腦,就需要給路由器配置個動態域名解析 (DDNS)。具體操作步驟如下。 1,申請動態域名 這裏我使用的
阿里雲無法從外網訪問某埠-埠被禁止訪問
一、新購買的阿里雲伺服器,配置好後,localhost是可以正常訪問專案的,但是無法從外網訪問,這就說明埠被禁止訪問了。解決此問題的方法如下: 1、登入阿里雲的管理控制檯,找到例項: 2、在例項右邊的操作選項裡,選擇“更多”,選擇“安全組配置”: 3、進入“安全組配置”後,點
怎樣從外網訪問內網Nginx?
本地安裝了一個Nginx,只能在區域網內訪問,怎樣從外網也能訪問到本地的Nginx呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝並啟動Nginx 預設安裝的Nginx埠是80。 實現步驟 下載並解壓holer軟體包 Holer軟體包:holer-xxx.tar.gz Holer支援各
如何從外網訪問本地的php-fpm?
本地安裝了一個php-fpm,只能在區域網內訪問,怎樣從外網也能訪問到本地的php-fpm呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。 1.2 安裝並啟動php-fp
如何從外網訪問本地的Zeus?
本地安裝了一個Zeus,只能在區域網內訪問,怎樣從外網也能訪問到本地的Zeus呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。 1.2 安裝並啟動Zeus 預設安裝的
如何從外網訪問本地的Node.js?
本地安裝了一個Node.js,只能在區域網內訪問,怎樣從外網也能訪問到本地的Node.js呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。 1.2 安裝並啟動Node.j
如何從外網訪問本地的Oracle資料庫
本地安裝了一個Oracle資料庫,只能在區域網內訪問到,怎樣從外網也能訪問到本地的Oracle資料庫呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。 1.2 安裝並啟動O
如何從外網訪問本地的Nginx
本地安裝了一個Nginx,只能在區域網內訪問,怎樣從外網也能訪問到本地的Nginx呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。 1.2 安裝並啟動Nginx 2.
如何從外網訪問本地的WebSphere
本地安裝了一個WebSphere,只能在區域網內訪問,怎樣從外網也能訪問到本地的WebSphere呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。 1.2 安裝並啟動WebSph
如何從外網訪問本地的資料庫
本地安裝了一個數據庫,只能在區域網內訪問到,怎樣從外網也能訪問到本地的資料庫呢?本文以MySQL資料庫為例,將介紹具體的實現步驟,其方法適用於任何資料庫系統。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。
怎樣從外網訪問內網php-fpm?
acc cal 選擇 dem org inter 127.0.0.1 code address 本地安裝了一個php-fpm,只能在局域網內訪問,怎樣從外網也能訪問到本地的php-fpm呢?本文將介紹具體的實現步驟。 準備工作 安裝並啟動php-fpm 默認安裝的php-f