【UpdateTime:20170717】
一、本文目的
本人最近想尝试使用ssh远程链接家里的电脑。事情是这样的:本人最近想学习和专研【深度学习】,但是实验室的电脑显卡性能不够用,都是2GB的显存(GTX 960M)。跑一个MNIST代码就因为显存不够而报错,当然可以通过设置batch_size的大小解决这一问题。但是后面肯定会遇到更大的数据集(cifar100,ImageNet等等),需要更大的显存。另一方面就是显卡性能也不够,别的实验室都有几块GTX 1080Ti的集群显卡,或者是TITAN Xp等,他们跑代码的速度,那叫一个快。基于此,本人是想在家里买一台配有 TITAN Xp 显卡的机器,然后通过ssh远程操作跑实验(虽然还有 TeamViewer 这么好用的工具存在,但是ssh会比 TeamViewer 更稳定些,或者说2种方式都存在的话更保险一些)。要通过ssh链接不属于同一个内网的机器,需要一个外网IP来解决这个问题。同学介绍了一个工具,frp,可以解决这问题,下文将介绍基于frp通过ssh链接内网机器。
参考网址:
1. frp 使用文档:https://github.com/fatedier/frp/blob/master/doc/quick_start_zh.md
2. github - frp:https://github.com/fatedier/frp/blob/master/README.md(有中文版)
二、相关说明&&介绍
1. frp :frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。frp的作用如下:
1)利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
2)对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
3)利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。