Ssh
通過 ssh 隧道使代理在遠端伺服器上可用
我知道我可以使用 ssh 隧道在我的機器上創建一個“代理”,這樣我就可以使本地生成的所有流量都通過遠端伺服器。像這樣:
$ ssh -D 12345 myuser@remote_ssh_server
但是如果我需要在遠端伺服器上創建一個“代理”,那麼我發送的所有流量都將通過我的本地機器呢?這可能與 ssh 嗎?
本質上,我想使用我的本地網際網路連接和一些特定的命令來遠端執行,因為伺服器不能直接訪問網際網路。
最簡單的方法是一次一個埠和一個主機。例如,要將流量從 remote:8001 轉發到 intraserver:80,
ssh -R 8001:intraserver:80 myuser@remote
但是如果你想轉發來自遠端的所有流量,並且你有一個在本地主機上執行的 ssh 伺服器,
ssh -R 2200:localhost:22 myuser@remote ssh -D 10800 -p 2200 localhost
展開:
-R 2200:localhost:22
設置從 remote:2200 到 localhost:22 的轉發。ssh -p 2200 localhost
在遠端執行 ssh,連接到 remote:2200,然後返回到 localhost:22(通過第一個 ssh 連接建立隧道)。-D 10800
通過從遠端返回到本地主機的連接,從遠端:10800 隧道 SOCKS。