不同网段_Pycharm访问服务器

1. ngrok配置ssh端口转发

  1. 工具:小米球(ngrok二次开发版)

  2. 配置过程:

    1. 下载几个文件
      • http://ngrok.ciqiuwl.cn/ ( linux64: ngrok ngrok.cfg)
      • 注意:下载完ngrok之后,如果是linux64,还需要执行 chmod +x ngrok让ngrok成为可执行文件,表观是文件名在terminal中变为绿色
    2. 客户端配置
    # ngrok.cfg
    server_addr: "tcp.xiaomiqiu.cn:4443"
    trust_host_root_certs: false
    tunnels:
        httptun:
          remote_port: 80
          subdomain: zh # 改成你自己的 子域名
          hostname:
          proto:
            http: 127.0.0.1:8777
        httpstun:
          remote_port: 443
          subdomain: zh # 改成你自己的 子域名
          proto:
            https: 127.0.0.1:8777
        tcptun:
          proto:
            tcp: 3389
        sshtun:  # 这个是核心,执行ssh端口转发.其他配置信息不重要
          proto:
            tcp: 22
        juptertun:
          remote_port: 9999
          subdomain: zhjupter
          proto:
            http: 127.0.0.1:9999
                    
                    
    # run.sh,这是我自编的启动脚本
    ./ngrok -config ngrok.cfg start-all
    
    # 要运行 ngrok客户端,直接在当前目录运行
    sh run.sh
    
    • 最终的效果:

  3. ngrok服务端的配置:

    • 小米球自带免费共享服务器,所以直接使用它的域名即可,比如我用的是:ngrok.xiaomiqiu.cn
    • 或者购买小米球提供的vip专用服务端,也不贵,66元/永久版
    • 如果要自行配置ngrok服务端,参见下面的教程:https://www.aliyun.com/notfound

2. 在内网启动ngrok

  • 我的方案:

    • 首先在内网,开启一个虚拟机,并安装teamview
    • 然后在外网,本机的tv连接内网的虚拟机中的tv,之后操作内网虚拟机通过ssh访问目标服务器,然后运行ngrok客户端(sh run.sh)
  • 一个更简单的方案:把处于目标服务器中的ngrok客户端设置为【开机自启动】,就无需外网启动ngrok客户端了

  • 找到目的服务器的22号端口对应的【ngrok提供的转发服务器域名及端口】

    • 如我的这个:domain_name(ip):ngrok.xiaomiqiu.cn 以及 port: 35656

3. 使用公网的转发服务器和端口

  1. 通过ssh工具【xshell, etc】直接使用下面的命令

    ssh zh@ngrok.xiaomiqiu.cn -p 35656

  2. 通过pycharm配置远程访问内网服务器

4. 手把手截图指导

TODO

5. 参考文献

posted @ 2019-02-13 18:17  hzhang_NJU  阅读(818)  评论(0编辑  收藏  举报