无路由器权限,如何 SSH 穿透路由连接内网中的 Linux 机器? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Tonni
V2EX    Linux

无路由器权限,如何 SSH 穿透路由连接内网中的 Linux 机器?

  •  
  •   Tonni 2014-06-27 16:14:39 +08:00 11364 次点击
    这是一个创建于 4139 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前提:我没有操作路由器的权限,不可能进行端口转发。

    我记得之前好像用什么动态地址解析能解决这个问题,不太清楚了,不知道有没有朋友能说下解决办法。
    第 1 条附言    2014-12-12 14:13:27 +08:00
    看到有人收藏这个主题,更新下,已经不用ngrok了,改用n2n了,还是n2n大法好啊。
    第 2 条附言    2018-08-29 14:06:42 +08:00
    现在改用 frp 了 https://github.com/fatedier/frp
    24 条回复    2015-09-21 10:36:21 +08:00
    zieglar
        1
    zieglar  
       2014-06-27 16:20:13 +08:00   2
    dafang
        2
    dafang  
       2014-06-27 16:21:59 +08:00   1
    你可以用 ngrok 这个软件。理论上,只要你有一台外网的服务器,是可以通过这台外网的服务器做tunnel来做数据转发的。

    你内网的机器连到外网服务器打开隧道 - 你外网的用户连到服务器握手隧道。

    然后就可以SSH双向数据传输了。

    ngrok可以方便的解决这个问题。单独的ssh也可以做到。
    66450146
        3
    66450146  
       2014-06-27 16:24:24 +08:00   1
    你有一台外网的服务器可以 ssh 的话,就可以用 ssh -R 来转发
    mantianyu
        4
    mantianyu  
       2014-06-27 16:26:17 +08:00   1
    动态地址解析应该解决不了这个问题吧
    Tonni
        5
    Tonni  
    OP
       2014-06-27 16:29:29 +08:00
    @66450146 有个美国的VPS,但是在家的长宽访问国外节点速度太慢了。
    Tonni
        6
    Tonni  
    OP
       2014-06-27 16:33:00 +08:00
    @zieglar 谢谢推荐,我试用了下,遇到一个奇怪的问题,我是用命令`ssh [email protected]`登陆,输入密码提示我密码错误,但是使用`ssh [email protected]`登陆输入密码既可以正常登陆。
    zieglar
        7
    zieglar  
       2014-06-27 16:49:07 +08:00
    看看页面上,有介绍可以让你 debug
    9hills
        8
    9hills  
       2014-06-27 16:55:52 +08:00   1
    @Tonni 选个国内的VPS做中转呗,Azure貌似有免费的
    sandtears
        9
    sandtears  
       2014-06-27 17:12:48 +08:00   1
    最简单的解决方案,买个花生壳新出的花生棒。

    麻烦点的话可以买个 VPS,然后用 ssh -R 2222:localhost:22 remote_ip 把本机的 22 端口映射到 VPS 上的 2222 端口。

    或者用 he.net 家的 IPv6 Tunnel 服务
    sandtears
        10
    sandtears  
       2014-06-27 17:19:38 +08:00
    另外国内 VPS 貌似不贵,我有个专门用来做端口转发的腾讯云,20+RMB/mo ,1Mbps 转发个 ssh 还是够了。
    Tonni
        11
    Tonni  
    OP
       2014-06-27 17:42:02 +08:00
    @dafang 忘记@你了,你遇到过6楼中提到的问题么?
    Tonni
        12
    Tonni  
    OP
       2014-06-27 18:21:52 +08:00
    @sandtears 我发现这个不能长久,执行命令后自动登录服务器可以连接,我关掉ssh客户端再登陆就不行了
    santears
        13
    sandtears  
       2014-06-27 19:31:40 +08:00
    @Tonni 加参数 ssh -qTfNg -R ... 这样
    sandtears
        14
    sandtears  
       2014-06-27 19:33:42 +08:00
    @Tonni 额 还是用 ssh -Cfg -R 吧,之前那个是我 ssh tunnel 的时候习惯用的。

    f 参数的意思就是把这个链接保持在后台
    dafang
        15
    dafang  
       2014-06-27 20:04:16 +08:00
    @Tonni 你没指定端口啊,你要看一下,一般你ngrok start ssh啥之后,会给你分配一个随机端口的。ngrok.com肯定不会把22端口给你的啊。。。
    Ansonyi
        16
    Ansonyi  
       2014-06-27 20:10:58 +08:00   1
    oott123
        17
    oott123  
       2014-06-27 22:20:51 +08:00 via Android   1
    试试 n2n ?
    udp 打洞,可以做到直连…
    Tonni
        18
    Tonni  
    OP
       2014-06-27 23:30:25 +08:00
    @zieglar
    @dafang
    @66450146
    @mantianyu
    @oott123
    @Ansonyi
    @sandtears
    @9hills

    感谢大家的帮助,我找到解决办法了,

    你需要注册一个ngrok的账号,他会给你分配一个token,
    执行命令./ngrok -authtoken YOU TOKEN -proto=tcp 22既可以分配给你一个临时的端口,这样你就可以远程登陆啦。配合tmux味道更佳!
    谢谢你们的帮助。
    zhoubug
        19
    zhoubug  
       2014-06-28 02:35:36 +08:00 via Android   1
    google play 或者 百度应用搜下n2n
    geeti
        20
    geeti  
       2014-06-28 03:24:46 +08:00   1
    如果能从内网的机器ssh到外部机器,那就可以用ssh的远程转发。
    从内网到外网: ssh -R 19999:localhost:22 [外网client]
    然后在外网就可以直接 ssh -p 19999 localhost
    dafang
        21
    dafang  
       2014-06-28 20:22:48 +08:00
    @Tonni 这些都可以放到配置文件里的。然后每次用的时候 ngrok start ssh

    付费版本还可以自定义域名。如果担心数据被窃听,这个是开源的软件,还可以自己部署。
    lovejoy
        22
    lovejoy  
       2014-06-28 23:55:40 +08:00
    logmein-hamachi 值得你拥有
    love4taylor
        23
    love4taylor  
    PRO
       2014-07-01 09:55:46 +08:00
    为何不能upnp呢。。
    chunchu
        24
    chunchu  
       2015-09-21 10:36:21 +08:00
    我现在也已经转到 N2N 了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1026 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 23:24 PVG 07:24 LAX 16:24 JFK 19:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86