1. ngrok配置ssh端口转发
工具:小米球(ngrok二次开发版)
配置过程:
- 下载几个文件
- http://ngrok.ciqiuwl.cn/ ( linux64: ngrok ngrok.cfg)
- 注意:下载完ngrok之后,如果是linux64,还需要执行
chmod +x ngrok
让ngrok成为可执行文件,表观是文件名在terminal中变为绿色
- 客户端配置
# 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
- 最终的效果:
- 下载几个文件
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. 使用公网的转发服务器和端口
通过ssh工具【xshell, etc】直接使用下面的命令
ssh zh@ngrok.xiaomiqiu.cn -p 35656
通过pycharm配置远程访问内网服务器
- 更多配置pycharm参见:https://blog.csdn.net/xuezhangjun0121/article/details/80665808
4. 手把手截图指导
TODO
5. 参考文献
- https://www.aliyun.com/notfound
- http://www.360doc.com/content/17/0719/15/29401987_672592041.shtml
- https://blog.csdn.net/riverjiant/article/details/70757607
- http://ngrok.ciqiuwl.cn/
- https://blog.csdn.net/xuezhangjun0121/article/details/80665808
- 感谢乔杰师兄推荐【小米球】