veapon
V2EX  ›  问与答

有没有办法 SSH 到家里的设备?

  •  
  •   veapon · Apr 1, 2015 · 7236 views
    This topic created in 4071 days ago, the information mentioned may be changed or developed.
    RT,家里没有固定IP情况下,不用花生壳。
    想到个办法,用openvpn只允许ssh走vpn流量(因为还挂着PT...),不知道行不行得通。
    因为网络方面的知识欠缺,盼望有高手指明方向。。。
    41 replies    2015-04-20 15:05:45 +08:00
    582033
        1
    582033  
       Apr 1, 2015   ❤️ 1
    1:外网有台固定IP的服务器可以用从这台服务器反向连接到家里来作为跳板

    2:家里设备装个ngrok

    3:ddns
    Tonni
        2
    Tonni  
       Apr 1, 2015 via Android
    clanned
        4
    clanned  
       Apr 1, 2015   ❤️ 1
    ddns到dnspod的话参考我写的脚本,家里ac68u,r6300v2(ddwrt),wndr4300(openwrt)在用
    http://www.xdty.org/1841
    https://github.com/xdtianyu/scripts/tree/master/ddns
    veapon
        5
    veapon  
    OP
       Apr 1, 2015
    @582033 @Tonni 谢谢,我试下。

    刚按我的想法搜了下 openvpn+路由表 貌似也可行。
    cattyhouse
        6
    cattyhouse  
       Apr 1, 2015 via iPhone   ❤️ 1
    家里的设备通过vpn拨号到一个服务器上,然后会被分配一个内网ip,比如 192.168.100.1,然后你的电脑也拨到那个vpn服务器上,然后就可以 ssh 192.168.100.1
    littlewey
        7
    littlewey  
       Apr 1, 2015 via iPhone
    @xdtianyu 请问您的 dnspod ddns python考虑到两步认证了么? 我之前找过的不支持
    clanned
        8
    clanned  
       Apr 1, 2015   ❤️ 1
    @littlewey 没有考虑,我的账户没有开通两部验证,我再看看dnspod api是不是有更新
    veapon
        9
    veapon  
    OP
       Apr 1, 2015
    @cattyhouse 是的,但是这样会导致设备所有的流量都走vpn, 然后我那台机器还挂着个pt,这样不好。
    lingo
        10
    lingo  
       Apr 1, 2015
    @cloverstd dnspod这个pyhton脚本我一直在用。。但是也一直不怎么稳定。。动不动什么反应都没有。。不print ip也不print e。。。
    clanned
        11
    clanned  
       Apr 1, 2015
    @lingo 可以试试我那个sh脚本,有变化才上报,有ip更新会发邮件通知,用了几个月了挺稳定的
    clino
        12
    clino  
       Apr 1, 2015
    /t/83715 30楼
    AntonChen
        13
    AntonChen  
       Apr 1, 2015
    路由端口转发+DDNS
    clanned
        14
    clanned  
       Apr 1, 2015
    @clino ssh -R 到国外服务器没几天就会被封服务器端口吧
    kokutou
        15
    kokutou  
       Apr 1, 2015 via Android
    开个 Sina app
    家里写个脚本,定时发送当前外网ip到这个app上。
    路由器做好转发
    要用的时候看下ip
    就可以了
    kokutou
        16
    kokutou  
       Apr 1, 2015 via Android
    感觉跟 ddns 差不多啊。。。
    no13bus
        17
    no13bus  
       Apr 1, 2015
    @cloverstd 你也在v2ex上?终于找到你了。最近我的一个项目 ohmyrepo用到了你的cache。https://github.com/no13bus/ohmyrepo/blob/master/cache.py

    项目是这个https://github.com/no13bus/ohmyrepo

    多谢你的cache。写的很棒。
    virusdefender
        18
    virusdefender  
       Apr 1, 2015
    自己设一个反弹shell就行吧
    tuutoo
        19
    tuutoo  
       Apr 1, 2015
    1.到https://www.changeip.com/注册免费的ddns
    2.Openwrt安装ddns-scripts和luci-app-ddns
    3.在Openwrt的Service里配置ddns
    4.在路由器打开22端口

    用changeip好像路由要先翻墙,否则好像ddns更新不成功到changeip
    Tink
        20
    Tink  
    PRO
       Apr 1, 2015 via Android
    需要一个跳槽打通隧道
    Tink
        21
    Tink  
    PRO
       Apr 1, 2015 via Android
    手残。。跳板
    kiritoalex
        22
    kiritoalex  
       Apr 1, 2015 via Android
    现在还有便宜的国内vps做跳板吗?就算不用ssh也可以用n2n那种?
    eae29qvc
        23
    eae29qvc  
       Apr 1, 2015
    我是用路由器自带的端口转发和花生壳,懒得折腾
    xenme
        24
    xenme  
       Apr 1, 2015
    1. 路由器开DDNS,就解决了动态IP问题
    2. 路由器开个VPN,解决了回去的问题
    3. 同一网段,VPN就不用搞路由了,直接就OK,不同网段加条路由搞定。
    wywh
        25
    wywh  
       Apr 1, 2015
    用logmein的hamachi
    cloverstd
        26
    cloverstd  
       Apr 1, 2015
    @no13bus 最近在学 Angularjs,也参考了你的 https://github.com/no13bus/redispapa 中的一些结构
    ilotuo
        27
    ilotuo  
       Apr 1, 2015 via Android
    楼主说的是不能访问家里路由器的条件下吧
    tigerZhang
        28
    tigerZhang  
       Apr 1, 2015
    @cloverstd 你的回复是用markdown写的吗?为什么我在MAC下用chrom浏览器浏览时,会比正常的回复要宽呢?
    cloverstd
        29
    cloverstd  
       Apr 1, 2015
    @tigerZhang 不是,就贴了一个 gist
    我在自定义 css 里加了

    .cell > table {
    table-layout: fixed;
    }
    jarlyyn
        30
    jarlyyn  
       Apr 1, 2015
    我自己写过一个判断ip然后调用dnspod的nodejs程序,开pm2挂着……
    Neveroldmilk
        31
    Neveroldmilk  
       Apr 1, 2015
    Mark一下,技术贴。
    zhengkai
        32
    zhengkai  
       Apr 1, 2015   ❤️ 1
    从机器 A 上 ssh -R 55003:127.0.0.1:22 目标机

    然后你在目标机上 ssh localhost -p 55003 就可以访问机器 A

    更复杂的设置需要 autossh 和 .ssh/config 里用 ProxyCommand,最终可以实现只要 ssh 机器A 就能直接登录
    rayang2004
        33
    rayang2004  
       Apr 1, 2015
    LZ可以参考下 n2nvpn
    ffffwh
        34
    ffffwh  
       Apr 1, 2015
    @veapon
    这种用途不用全部流量走VPN,VPN那个网段走VPN就行了,Mac下新建VPN默认是这个设定。
    pupie
        35
    pupie  
       Apr 1, 2015
    用openwrt的路由器,用ddns,访问家里路由器只用记住这个动态域名即可。
    路由器中dropbear使用非标准端口监听并开放外网登陆,这个端口禁止root和密码登陆,只开放秘钥登陆,基本上这样就可以了。
    访问的时候putty+winscp好了。
    rockagen
        36
    rockagen  
       Apr 1, 2015   ❤️ 1
    autossh反向代理可搞掂. avatar好!
    Tiande
        37
    Tiande  
    PRO
       Apr 1, 2015   ❤️ 1
    玩 Minecraft 的时候,有个工具叫做 Hamachi ,生成虚拟局域网。
    不知道支持的平台多不多。
    但是在 win 下,使用好傻瓜。
    SuYia
        38
    SuYia  
       Apr 1, 2015
    wintersun
        39
    wintersun  
       Apr 1, 2015   ❤️ 1
    看着楼上推荐Hamachi的,我也是曾经的铁杆用户,但是最近,我用了国产的向日葵Oray(or SunLogin),更推荐后者。毕竟,国内机器通过国内服务器中转似乎更高效(我是国内电信<==>香港宽频)。
    著名的花生壳也是他家的,10元/台/年的价格我认为已经是无敌价了,免费版我已经用得舒服过Hamachi很多。
    crab
        40
    crab  
       Apr 20, 2015
    @xdtianyu DDWRT,SHH上去后,进入jffs目录,没权限创建文件夹。这怎么解决的啊。
    clanned
        41
    clanned  
       Apr 20, 2015 via Android
    @crab 换一个别的有权限而且不会被重启清掉的位置呗。看看为什么没有jffs目录权限
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1693 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 128ms · UTC 16:18 · PVG 00:18 · LAX 09:18 · JFK 12:18
    ♥ Do have faith in what you're doing.