Ber*_*rry 32 networking ssh tunnel ssh-tunnel socks
ssh -D 可以在本地机器上创建一个socks端口,将流量传递到远程,然后到其他地方。
ssh -L port:host:hostport, 在本地机器上监听端口,从远程机器的角度将流量传递给“host:hostport”。
ssh -R port:host:hostport是 的对应物ssh -L,它在远程机器上监听端口,并从本地机器的角度将流量传递给“host:hostport”。
但是什么是对应的ssh -D,即如何在远程机器上打开一个socks端口,它将流量传递到本地,然后到其他地方?
小智 19
可以使用 ~/.ssh/config 中的此代码段透明地实现:
Host sockstunnel
ProxyCommand ssh -D 3128 localhost nc -q 1 localhost 22
Host target
RemoteForward 3128 localhost:3128
ProxyCommand ssh -W target:22 sockstunnel
Run Code Online (Sandbox Code Playgroud)
我们想要一个反向 DynamicForward。这是使用两个 ssh 命令实现的:
ssh -D 3128 localhostssh -R 3128:localhost:3128 target这样,目标就有一个到 SSH 客户端的 SOCKS 隧道。
我所做的是使用链接 ssh 的经典方式通过中间主机到达远程目标,以便在登录目标时透明地处理 SOCKS 隧道创建。第一个 ProxyCommand + nc 技巧是强制性的,因为 -W 意味着 ClearAllForwardings。
Pri*_*cey 14
使用-D&-L您可以在两台机器之间以任何一种方式进行通信。
所以...
-R在远程机器上创建一个指向本地机器 sshd 的侦听端口。-D在远程机器上使用,指向您在上面创建的端口。我“认为”填写下面的内容会使它起作用......
ssh remotehost -R remoteport:localhost:localport "ssh -D 9050 localhost -p remoteport"
' remotehost', ' remoteport' & ' localport' 在上面需要改变。一个socks代理将在9050上形成。
zmx*_*zmx 10
local$ ssh -R 1080 remote
remote$ curl --socks5 localhost https://example.com
Run Code Online (Sandbox Code Playgroud)
自 OpenSSH 7.6
ssh(1):添加对反向动态转发的支持。在这种模式下,ssh 将充当 SOCKS4/5 代理并将连接转发到远程 SOCKS 客户端请求的目的地。使用 -R 和 RemoteForward 选项的扩展语法请求此模式,并且因为它仅在客户端实现,不需要更新服务器以支持。
https://www.openssh.com/txt/release-7.6
| 归档时间: |
|
| 查看次数: |
37801 次 |
| 最近记录: |