lxf1992521
V2EX  ›  DevOps

ssh 的 -g 选项是什么意思?看了 man 文档没有看懂!

  •  
  •   lxf1992521 · Nov 30, 2016 · 6542 views
    This topic created in 3449 days ago, the information mentioned may be changed or developed.

    如题,在浏览 ssh 命令的 man 文档的时候,发现了一个 -g 选项,下面是该选项的解释:

        Allows remote hosts to connect to local forwarded ports
    

    允许远端主机连接到本地端口转发?本地端口转发 -L 及其用法我是知道的,求大神指点下。

    Supplement 1  ·  Nov 30, 2016
    恩,这里总结下,-g 与 -D/-L 一起配合使用,相当于 bind 本地端口到全局地址;

    -g -L port:host:hostport 等价于 -L :port:host:hostport 等价于 -L *:port:host:hostport 等价于 -L 0.0.0.0:port:host:hostport

    -g -D port 等价于 -D :port 等价于 -D *:port 等价于 -D 0.0.0.0:port
    5 replies    2016-11-30 16:20:36 +08:00
    SoloCompany
        1
    SoloCompany  
       Nov 30, 2016
    就是说充当 socks5 服务器的时候, bind 的端口是不是 all
    默认情况下只 bind 本机端口也就是只有本机才能使用这个 socks5 代理
    加了 -g 的话,别人也能用你的 socks5 代理了
    iceman_yu
        2
    iceman_yu  
       Nov 30, 2016
    -g 好像是把原本绑定在 localhost 的端口设置为绑定在 0.0.0.0 上,这样可以开放给其他机器通过你的 IP:Port 来使用这个隧道。
    BOYPT
        3
    BOYPT  
       Nov 30, 2016   ❤️ 2
    很好理解啊, ssh -g -L lport:daddr:dest 等价于 ssh -L 0.0.0.0:lport:daddr:dport
    est
        4
    est  
       Nov 30, 2016
    @BOYPT 怪不得我从来没用过这个参数。
    lxf1992521
        5
    lxf1992521  
    OP
       Nov 30, 2016
    @BOYPT 恩,就是这样的,我一直理解不了是因为我自己习惯使用 ssh -L 0.0.0.0:lport:daddr:dport 这种形式;
    谢谢!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6138 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 02:03 · PVG 10:03 · LAX 19:03 · JFK 22:03
    ♥ Do have faith in what you're doing.