V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
xiaoyao9933
V2EX  ›  问与答

如何用 socat 实现 ssh -R 反向通道的功能?

  •  
  •   xiaoyao9933 · 2015-03-22 12:08:20 +08:00 · 3952 次点击
    这是一个创建于 3535 天前的主题,其中的信息可能已经有所发展或是发生改变。
    正如昨天我发的帖子https://v2ex.com/t/178418
    前后考虑了一下似乎用socat实现省去了加密并且速度更快,找来找去一圈教程,似乎只有这个对路。

    http://stackoverflow.com/questions/8616149/udp-reverse-tunnel-over-ssh-using-socat

    比如映射22端口
    socat exec:"ssh removeserver \"socat tcp-listen:10000,fork -\"" tcp-connect:localhost:22

    但是我无论按照这个指令如何做,都不能建立反向通道。
    求socat高手指导?
    3 条回复    2015-03-22 14:10:58 +08:00
    xiaoyao9933
        1
    xiaoyao9933  
    OP
       2015-03-22 12:22:57 +08:00
    如果改用
    socat exec:"ssh removeserver \"socat tcp-listen:10000,fork -\"" tcp-connect:localhost:22,reuseaddr
    倒是可以ssh连接10000端口成功一次,但是,ssh断开后,这个通道就损坏了。
    若改为
    socat exec:"ssh removeserver \"socat tcp-listen:10000,fork -\"" tcp-connect:localhost:22,fork,reuseaddr
    就会出现
    ssh: Connection to eric@localhost:10000 exited: Integrity error (bad packet size 1349676920)
    datocp
        2
    datocp  
       2015-03-22 13:07:41 +08:00   ❤️ 1
    http://cyrilwang.pixnet.net/blog/post/25636594-%E5%8F%8D%E5%90%91%E9%80%A3%E7%B5%90-(reverse-connection)
    http://cyrilwang.pixnet.net/blog/post/25636594-反向連結-(reverse-connection)
    反向連結 (Reverse Connection)
    上面的页面(己被墙)提供了一个使用socat进行反向连接的过程,hoho是不是很简单,已经测试可以将lan内的web服务器反向通过vps进行连接。搞得这么麻烦,主要是这些年 被所谓的免费坑苦了,所以不喜欢什么免费的东东,数据还是做在自己硬盘上安全。

    vps上的客户端
    socat -d -d -d tcp-l:80,reuseaddr,bind=0.0.0.0,fork tcp-l:8080,bind=0.0.0.0,reuseaddr,retry=10
    只有在tcp 80端口有请求时才会生成侦听tcp 8080端口。

    lan内的服务器端
    socat -d -d -d -v tcp:vpsip:8080,forever,intervall=10,fork tcp:localhost:80
    将lan内的电脑不断尝试连接vps的tcp 8080端口,当连接成功后台会连到localhost提供的tcp 80端口应用。

    哈哈,是不是很简单,网络不需要做任何更改。
    jackytang520
        3
    jackytang520  
       2015-03-22 14:10:58 +08:00
    haproxy不知道行不行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3582 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 00:56 · PVG 08:56 · LAX 16:56 · JFK 19:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.