SSH反向代理實現外網訪問內網伺服器
機器狀況
機器號 | IP | 使用者名稱 | 備註 |
---|---|---|---|
A | 192.168.1.130 | 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 自動輸入密碼登入伺服器
安裝 sshpass
# sudo apt-get install sshpass安裝完成後使用sshpass允許你用 -p 引數指定明文密碼,然後直接登入遠端伺服器。例如: # sshpass -p '你的密碼' ssh 使用者名稱@伺服器ip地址用 '-p' 指定了密碼後,還需要在後面跟上標準的 ssh 連線命令
相關推薦
SSH反向代理實現外網訪問內網伺服器
機器狀況 機器號 IP 使用者名稱 備註 A 192.168.1.130 usr_a 目標伺服器,在區域網中,可以訪問 A B B.B.B.B usr_b 代理伺服器,在外網中,無法訪問 A C - - 可以直接訪問 B,無法直接訪問 A
SSH反向連線及Autossh 實現外網訪問內網樹莓派
需要一臺vps伺服器,樹莓派連上vps,再通過vps來訪問樹莓派 1.在樹莓派上設定 sudo screen -S sshtest ssh -R 19999:localhost:22 你的vps使用者名稱@你vps的ip 意思:將vps上的19999埠與樹莓派的
通過ssh反向隧道及nginx反向代理實現外網控制內網nodemcu晶片
基本思路:通過ssh反向隧道實現外網伺服器埠到內網中繼伺服器埠的轉發,通過配置內網中級伺服器nginx反向代理,將外網發過來的請求轉發到目標伺服器上。最後實現通過訪問外網ip轉到訪問內網的目標伺服器。 (一)ssh反向隧道將外網伺服器埠轉發到內網中繼伺服器指定埠 (1)首
ssh 反向代理 外網訪問內網
[[email protected] ~]$ssh -C -f -N -D 3345 -p 3345 [email protected] The authenticity of host '[localhost]:3345 ([127.0.0.1]:3345)' can't be es
Ngrok反向代理實現外網訪問內網
該篇部落格分享ngrok,這裡使用國內作者的ngrok,國外有ngrok,但是訪問國內訪問比較慢 ngrok 是一個反向代理,通過在公共的端點和本地執行的 Web 伺服器之間建立一個安全的通道。ngrok 可捕獲和分析所有通道上的流量,便於後期分析和重
利用反向SSH從外網訪問內網伺服器
學院的伺服器在學院的內網,出了學院就不能訪問,在宿舍、家裡學習很不方便沒有伺服器的話。之前一直用TeamViewer,但是用著不舒服。最近新找到一個辦法,就是利用外網伺服器以及反向SSH搭一條通道,使
ssh反向代理實現NAT內網穿透[ssh版teamviewer]
由於實驗室伺服器沒有公網IP,如果在校外網的話只能通過teamviewer遠端桌面連線,然而teamviewer的資料傳輸是基於影象的,反應太慢了,所以一直在尋找ssh版的teamviewer,經過谷歌,發現只需要一臺公網伺服器作為中轉站,就可以實現在任何地方登
外網訪問內網的解決方案--反向SSH
問題: 當你在不在公司或者不在學校的時候,如果想要用secureCRT訪問內網的伺服器,但是內網IP對外網是不可見的,這時怎麼辦?又或者內網的網站只對有內網的IP可以訪問,但是你連線的是外網,想要
Holer實現外網訪問內網Oracle資料庫
外網訪問內網Oracle資料庫 內網主機上安裝了Oracle資料庫,只能在區域網內訪問,怎樣從公網也能訪問本地Oracle資料庫? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。
使用SecureCRT轉發功能,實現外網訪問內網服務
A: 內網Linux系統,不能上外網 ip:192.168.6.10 有如下服務 22埠 ssh2 B: (windows系統) 內網主機,可以訪問A主機,可以通過閘道器訪問C主機. C: 外網Linux系統,公網ip:202.108.16.5 有如
使用電信光貓加路由器實現內網穿透,外網訪問內網
準備工作:1. 需註冊一個花生殼賬號和購買一個殼域名(可以免費獲取殼域名)2. 電腦下載安裝花生殼客戶端3. 使用電信光貓超級管理員密碼獲取器獲取光貓超級密碼4. 寬頻賬號與寬頻密碼(光貓配置後,需登入路由器上網,路由器需使用寬頻賬號與密碼登入上網)一.電信光貓配置1.1 在
如何通過SecureCRT轉發功能實現外網訪問內網服務
公司有臺開發伺服器有外網地址,開放了ssh服務,上面裝有mysql服務,MySQL服務埠3306是沒有對外網開放的。所以如果在家要連線這臺伺服器的mysql資料庫得另外想其他辦法。好在SecureCRT提供了埠轉發的功能,能夠通過SecureCRT將內網埠對映到本地埠。 方
通過反向ssh連線+socks5+web-proxy來訪問內網資源
最近碰到個這麼個問題,校園網內的資源只能在校園網內訪問,在寢室裡連不到校園網時候就無法訪問了,很不方便。所以想了一個方案來解決這個問題。 所需硬體:一臺有公網IP的linux主機 A,一臺在校園網內的Linux主機 B。 所需軟體:openssh, dele
簡單物聯網:外網訪問內網路由器下樹莓派Flask服務器
分配 amp con 樹莓派 轉發規則 添加 局域網 輸入 pytho 最近做一個小東西,大概過程就是想在教室,宿舍控制實驗室的一些設備。 已經在樹莓上搭了一個輕量的flask服務器(在樹莓派下搭flask在其他隨筆有說明),在實驗室的路由器下,任何設備都是可以訪問的;但是
怎樣從外網訪問內網Nginx?
本地安裝了一個Nginx,只能在區域網內訪問,怎樣從外網也能訪問到本地的Nginx呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝並啟動Nginx 預設安裝的Nginx埠是80。 實現步驟 下載並解壓holer軟體包 Holer軟體包:holer-xxx.tar.gz Holer支援各
怎樣從外網訪問內網php-fpm?
acc cal 選擇 dem org inter 127.0.0.1 code address 本地安裝了一個php-fpm,只能在局域網內訪問,怎樣從外網也能訪問到本地的php-fpm呢?本文將介紹具體的實現步驟。 準備工作 安裝並啟動php-fpm 默認安裝的php-f
怎樣從外網訪問內網數據庫?
平臺 主機 tree 數據庫 步驟 命令 fff 客戶端 映射 本地安裝了一個數據庫,只能在局域網內訪問到,怎樣從外網也能訪問到本地的數據庫呢?本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝並啟動數據庫 默認安裝的數據庫端口是1024。 2. 實現步驟 2.1 下
怎樣從外網訪問內網Jetty?
本地安裝了一個Jetty,只能在區域網內訪問,怎樣從外網也能訪問到本地的Jetty呢?本文將介紹具體的實現步驟。 準備工作 安裝並啟動Jetty 預設安裝的Jetty埠是8080。 實現步驟 下載並解壓holer軟體包 Holer軟體包:holer-xxx.tar.gz Holer支援各種OS系統
怎樣從外網訪問內網Django?
本地安裝了一個Django,只能在區域網內訪問,怎樣從外網也能訪問到本地的Django呢?本文將介紹具體的實現步驟。 準備工作 安裝並啟動Django 預設安裝的Django埠是8000。 實現步驟 下載並解壓holer軟體包 Holer軟體包:holer-xxx.tar.gz Holer支援各種
怎樣從外網訪問內網Jboss?
本地安裝了一個Jboss,只能在區域網內訪問,怎樣從外網也能訪問到本地的Jboss呢?本文將介紹具體的實現步驟。 準備工作 安裝並啟動Jboss 預設安裝的Jboss埠是8080。 實現步驟 下載並解壓holer軟體包 Holer軟體包:holer-xxx.tar.gz Holer支援各種OS系統