Séb*_*ien 27 ssh proxy socks-proxy ssh-tunnel socks
可以通过 SSH 实现以下功能吗?
涉及到三台机器:
A. My local machine at home
B. The SSH gateway server at school
C. A workstation in a lab, only reachable through B
Run Code Online (Sandbox Code Playgroud)
我想设置一个 SOCKS 代理。我希望能够在家里的本地计算机上冲浪,就像我在实验室一样。这是由于某些站点只能从学校的公共 IP 访问。
所以我想在主机 C 上运行一个 SOCKS 代理。但我没有设法让它在主机 A 上工作。
我连接到网关,然后从网关连接到工作站。但是我无法让网关正确地将流量从代理传输到代理。
我怎样才能做到这一点?
use*_*686 35
三种略有不同的方法。(用您选择的端口号替换 $PORTX 和 $PORTY。)
第一种方法:ProxyCommand
machine-a$ ssh -f -N -D $PORT -oProxyCommand="ssh -W %h:%p machine-b" machine-c
Run Code Online (Sandbox Code Playgroud)
第二种方法:
连接从A到B,以“本地转发”$PORT
来。localhost:$PORT
machine-a$ ssh -L $PORT:localhost:$PORT machine-b
Run Code Online (Sandbox Code Playgroud)从 B 连接到 C,启用“动态转发”。
machine-b$ ssh -f -N -D $PORT machine-c
Run Code Online (Sandbox Code Playgroud)将您的浏览器配置为在 使用代理。localhost:$PORT
步骤 #1 和 #2 可以总结为:
ssh -f -L $PORT:localhost:$PORT machine-b "ssh -f -N -D $PORT machine-c"
Run Code Online (Sandbox Code Playgroud)
第三种方法:
连接从A到B,以“本地转发”$PORTX
来machine-c:22
。
machine-a$ ssh -f -N -L $PORTX:machine-c:22 machine-b
Run Code Online (Sandbox Code Playgroud)通过隧道从 A 连接到 C,使用“动态转发”。
machine-a$ ssh -f -N -D $PORTY localhost -p $PORTX
Run Code Online (Sandbox Code Playgroud)
(-f -N
如果您也想对交互式连接使用相同的隧道,则可以省略。)
将您的浏览器配置为在 使用代理。localhost:$PORTY
归档时间: |
|
查看次数: |
19468 次 |
最近记录: |