V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lxf1992521
V2EX  ›  DevOps

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

  •  
  •   lxf1992521 · 2016-11-30 15:28:43 +08:00 · 5708 次点击
    这是一个创建于 2947 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

        Allows remote hosts to connect to local forwarded ports
    

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

    第 1 条附言  ·  2016-11-30 16:24:20 +08:00
    恩,这里总结下,-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 条回复    2016-11-30 16:20:36 +08:00
    SoloCompany
        1
    SoloCompany  
       2016-11-30 16:02:02 +08:00
    就是说充当 socks5 服务器的时候, bind 的端口是不是 all
    默认情况下只 bind 本机端口也就是只有本机才能使用这个 socks5 代理
    加了 -g 的话,别人也能用你的 socks5 代理了
    iceman_yu
        2
    iceman_yu  
       2016-11-30 16:04:14 +08:00
    -g 好像是把原本绑定在 localhost 的端口设置为绑定在 0.0.0.0 上,这样可以开放给其他机器通过你的 IP:Port 来使用这个隧道。
    BOYPT
        3
    BOYPT  
       2016-11-30 16:05:12 +08:00   ❤️ 2
    很好理解啊, ssh -g -L lport:daddr:dest 等价于 ssh -L 0.0.0.0:lport:daddr:dport
    est
        4
    est  
       2016-11-30 16:07:51 +08:00
    @BOYPT 怪不得我从来没用过这个参数。
    lxf1992521
        5
    lxf1992521  
    OP
       2016-11-30 16:20:36 +08:00
    @BOYPT 恩,就是这样的,我一直理解不了是因为我自己习惯使用 ssh -L 0.0.0.0:lport:daddr:dport 这种形式;
    谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1560 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:02 · PVG 01:02 · LAX 09:02 · JFK 12:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.