1. 程式人生 > >通過反向ssh連線+socks5+web-proxy來訪問內網資源

通過反向ssh連線+socks5+web-proxy來訪問內網資源

最近碰到個這麼個問題,校園網內的資源只能在校園網內訪問,在寢室裡連不到校園網時候就無法訪問了,很不方便。所以想了一個方案來解決這個問題。
所需硬體:一臺有公網IP的linux主機 A,一臺在校園網內的Linux主機 B
所需軟體:openssh, delegated.

思路

1.通過從B建立一個反向ssh連線CA上。
2.在A上通過C 建立ssh連線D(該連線用於socks轉發)到B
3.在A上執行delegated建立web-proxy, 將web-proxy的資料通過D轉發到B, 完成內網資源訪問.

具體做法

這裡假設A的IP地址為123.456.78.9, 使用者名稱為user.

B

執行如下語句

$ ssh -f -N -R 10000:localhost:22 user@123.456.78.9

解釋下, -f表示後臺執行, -N表示不執行任何命令, -R表示建立一個反向連線 具體帶的引數格式為 [bind_address:]port:host:hostport, port表在A上建立一個監聽連線, 將資料從A端的port轉發到 B端的host:hostport上, 執行這行語句要求輸入使用者user的密碼。可以通過生成public key並存儲到A上避免每次都要輸入。

執行完畢後A上會多出一個監聽在10000埠的連線

tcp        0      0 127.0.0.1:10000
0.0.0.0:* LISTEN 9395/sshd: user

到這裡 B端操作完成。

A

執行下列命令來建立socks轉發

$ ssh -f -N -D 127.0.0.1:8888 -p 10000 [email protected]

解釋下, 前面幾個選項意思已經解釋過, -D 127.0.0.1:8888 表示在127.0.0.1:8888上建立一個socks轉發連線D, -p 10000 [email protected]意味著ssh會通過上面建立的CB端發起一個ssh連線, 這裡的root是B機器上的一個使用者名稱。同樣可以通過public key的方式來避免每次都要輸入密碼。

接著安裝delegated, 這裡通過編譯安裝, 可以在這裡下載到。下載並解壓後進入delegate9.9.9目錄,執行命令

$ make

編譯好後,在src目錄下會多出一個delegated可執行程式.
執行下列命令來建立一個監聽在8889埠的web-proxy,並通過上述建立的socks5連線D來轉發資料至B.

$ ./delegated -P8889 SERVER=http SOCKS=127.0.0.1:8888 PERMIT=*:*:*

到這裡基本上完成了整個工作。

相關推薦

通過反向ssh連線+socks5+web-proxy訪問資源

最近碰到個這麼個問題,校園網內的資源只能在校園網內訪問,在寢室裡連不到校園網時候就無法訪問了,很不方便。所以想了一個方案來解決這個問題。 所需硬體:一臺有公網IP的linux主機 A,一臺在校園網內的Linux主機 B。 所需軟體:openssh, dele

通過rinetd實現port轉發訪問的服務

data- adding local rac pad 進程 track 5.1 grep 一、 問題描寫敘述 通過外網來訪問內網的服務二、 環境要求 須要有一臺能夠外網訪問的機器做port映射。通過數據包轉發來實現外部訪問阿裏雲的內網服務三、 操作方

Linux通過端口轉發訪問服務(端口轉發訪問阿裏雲Redis數據庫等服務)

creat 同方 eat sta -s span 不用 man conf # 安裝rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&am

Linux 通過rinetd埠轉發訪問服務

可以通過埠對映的方式,來通過具有公網的雲伺服器 ECS 訪問使用者名稱下其它未購買公網頻寬的內網 ECS 上的服務。埠對映的方案有很多,比如 Linux 下的 SSH Tunnel、rinetd,Windows 下的 portmap 等,本文簡要介紹 rinetd,和 ssh tunnel 的配置方法。 說

Linux 通過rinetd端口轉發訪問服務

ESS ipa 下載 文件 它的 端口 相關 net add 可以通過端口映射的方式,來通過具有公網的雲服務器 ECS 訪問用戶名下其它未購買公網帶寬的內網 ECS 上的服務。端口映射的方案有很多,比如 Linux 下的 SSH Tunnel、rinetd,Windows

通過rinetd實現埠轉發訪問的服務

通過rinetd實現埠轉發來訪問內網的服務 通過rinetd實現埠轉發來訪問內網的服務 配置三方源 安裝Rinetd 配置 執行 加入到開機啟動指令碼中 注意事項 驗證

淺談外通過反向代理訪問資源時的許可權保護

標題可能有些繞口,意思就是我在外網要訪問內網一資源(比如網站)時需要身份驗證,只有通過身份驗證才能訪問,這個該如何實現? 其實這是一朋友問我的一個問題,需求就是: 領導在外出差,要通過企業微信訪問內網資源,而這個資源又是高度保密的,不能隨便讓別人看到,公司又不提供VPN等工

SSH反向連線及Autossh 實現外訪問樹莓派

需要一臺vps伺服器,樹莓派連上vps,再通過vps來訪問樹莓派 1.在樹莓派上設定 sudo screen -S sshtest ssh -R 19999:localhost:22 你的vps使用者名稱@你vps的ip      意思:將vps上的19999埠與樹莓派的

讓AWS虛機訪問公司資源SSH反向代理)

背景說明 今天我要將AWS虛機升級到beta版本並進行一些測試。 由於beta版本只在公司內網提供,因此我需要將升級用的檔案手動拷貝到AWS虛機中。原始的方法,很容易理解: 用AWS上能找到的最新版本AMI啟動一個虛機。 將映象檔案RHEL-7.4-201706

nginx功能之一可以啟動一個本地伺服器,通過配置server_name和root目錄等訪問目標檔案

  一. 下載 http://nginx.org/   下載後解壓   二. 修改配置檔案 nginx配置檔案在 nginx-1.8.0\conf\nginx.conf http { #壓縮html

解決同一區域網訪問別人web專案失敗問題,同一區域網(通過ip地址+埠號+web專案名)訪問別人的web專案

在同一區域網下,我把web專案部署到tomcat上面, 此時我的的ip地址為:192.168.5.73,tomcat埠號:8080,專案名:myDemo 但是別人通過http://192.168.5.73:8080/myDemo訪問的時候出現無法訪問的情況, 於是讓另一個人ping了

利用反向SSH從外訪問伺服器

學院的伺服器在學院的內網,出了學院就不能訪問,在宿舍、家裡學習很不方便沒有伺服器的話。之前一直用TeamViewer,但是用著不舒服。最近新找到一個辦法,就是利用外網伺服器以及反向SSH搭一條通道,使

客戶 通過 公網域名/ip 訪問web伺服器 出錯

在一內部區域網中, client  內網地址為 10.0.0.2     web  伺服器內網地址為 10.0.0.1    外網地址為  211.6.15.1    域名為  xx.love.com 問題:在內網10.0.0.2的機器上訪問   外網地址 211.

通過ssh 解決本地無法訪問資料庫的問題

如果資料庫和web伺服器在同一個內網,或者有IP白名單,而我們在本地卻沒辦法訪問資料庫,但是又很想通過客戶端連線資料庫方便操作。 那麼我們可以通過ssh進行埠轉發,在本地開一個埠,然後通過白名單的伺服器中轉資料庫連線。 ssh -fNL 3306:mysqlconnec

SSH反向代理實現外訪問伺服器

機器狀況 機器號 IP 使用者名稱 備註 A 192.168.1.130 usr_a 目標伺服器,在區域網中,可以訪問 A B B.B.B.B usr_b 代理伺服器,在外網中,無法訪問 A C - - 可以直接訪問 B,無法直接訪問 A

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

如何通過putty 實現利用跳轉機web訪問

MAC Bridgeserver:    telnet 9.181.159.22   root/123456 MAC:SOCKS 5 proxy: ssh -C2qTnNfD 50010 [email protected] Windows 1、新建一個sessi

訪問的解決方案--反向SSH

問題:    當你在不在公司或者不在學校的時候,如果想要用secureCRT訪問內網的伺服器,但是內網IP對外網是不可見的,這時怎麼辦?又或者內網的網站只對有內網的IP可以訪問,但是你連線的是外網,想要

阿裏雲機器通過squids代理上訪問資源

transform url accep iss time eval connect 目錄 mas 一、背景 代理服務器A(10.0.1.2)機器有公網地址可正常訪問外網 業務服務器B(10.0.1.33)機器無公網地址不能訪問外網 代理服務器A((10.0.1.2)和業務服

怎樣從外訪問Web

dem tag -a inter git 原因 服務端 映射 gmail 本地部署了一個Web服務端,只能在局域網內訪問,怎樣從外網也能訪問到本地的Web服務呢?本文將介紹具體的實現步驟。 準備工作 部署並啟動Web服務程序 默認部署的Web服務端口是8080。 實現步驟