【问题标题】:How to create SSH dynamic forwarding through a port forwarding?如何通过端口转发创建 SSH 动态转发?
【发布时间】:2020-02-06 14:27:34
【问题描述】:

我可以使用以下命令来创建端口转发:

ssh -L 1081:192.168.0.2:22 admin@proxy.tunnel.com -p 22 -f -C -N

然后我可以使用以下命令来创建动态转发:

ssh -D 1080 -f -C -q -N me@127.0.0.1 -p 1081

我的问题是,如何组合这两个命令并在端口 1080 上通过 admin@proxy.tunnel.com:22 创建到 me@192.168.0.2:22 的动态转发,而无需先在 1081 上创建端口转发?

【问题讨论】:

    标签: ssh


    【解决方案1】:

    我想您只是将proxy.tunnel.com 用作代理。
    然后你可以使用

    ssh -D 1080 -f -C -q -N me@192.168.0.2 -o ProxyCommand="ssh admin@proxy.tunnel.com -W %h:%p"
    

    使用ProxyCommand,您可以使用 ssh 的其余部分,就像您在代理主机上一样。

    但如果行变得又长又复杂,使用~/.ssh/config 会更容易

    HOST myProxy
        user admin
        hostname proxy.tunnel.com
    
    HOST myPrivateHost
        user me
        hostname 192.168.0.2
        ProxyCommand ssh myProxy -W %h:%p
    

    【讨论】:

    • 这行得通!并且 ProxyCommand 也可以与 sshpass 一起使用。顺便说一句,添加 -p 标志是端口不是 22。