用云服务器搭建远程办公可以干什么:
1. 在任何地方通过ssh连接公司或者家中的服务器
2. 在任何地方通过远程桌面连接公司或者家里的Windows电脑
一、为什么要在家远程连接公司的电脑?
1. 因为加班是难免的嘛,即使我们偶尔调休也难免有同事打电话咨询你。可是有很多东西根本记不住,尤其像代码这种东西。有时着急不得不回一趟公司,非常浪费时间。如果我们可以远程连接岂不是更方便。
2. 我们平时在学校用服务器跑机器学习,但是回了家就连不上自己实验室的服务器了,自己电脑又跑的太慢,通过内网穿透就可以实现在家部署自己的机器学习任务。
3. 当然也未必是家里到公司,也可以是公司到家里、公司到学校、家到学校,可以穿透到一切你想穿透的地方。
4. 这里我们说的是使用frp进行内网穿透,映射端口实现远程连接。可能有人会问了,网络上面有很多类似的现成软件,为什么不直接使用?像TeamViews个人版是完全免费使用的,并不是因为他不好,只是应需定制性并不高,如果公司的网络不稳定,会造成teamviews掉线,无法进行无人值守。
二、那么如何通过云服务器进行连接呢
1、下载frp 登陆 https://github.com/fatedier/frp/releases 获取下载地址
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz
frp_0.37.0_linux_amd64.tar.gz 是64位系统,frp_0.37.0_linux_386.tar.gz 是32位系统,根据自已的云服务器去下载对应的frp文件。
2、解压压缩文件:
tar -zxvf frp_0.37.0_linux_amd64.tar.gz
3、进入解压后的文件夹
cd frp_0.37.0_linux_amd64
4、打开配置服务器文件 frps.ini 修改如下:
[common]
bind_port = 60008
dashboard_port = 60007
dashboard_user = admin
dashboard_pwd = admin
token = 123456
- “bind_port” 表示用于客户端和服务端连接的端口,这个端口号我们之后在配置客户端的时候要用到。
- “dashboard_port” 是服务端仪表板的端口,若使用60007端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:60007 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。
- “token” 是用于客户端和服务端连接的口令,请自行设置并记录,稍后会用到。
- “dashboard_user” 和 “dashboard_pwd” 表示打开仪表板页面登录的用户名和密码,自行设置即可。
bind_port 和 dashboard_port 可自行设置,但是需要提前登陆阿里云或腾讯云控制台在安全组中开放出来(TCP)。
5、配置完成后运行服务器,指令如下:
./frps -c frps.ini
看到如下结果后说明服务器端启动成功。
此时访问 x.x.x.x:60007 并使用自己设置的用户名密码登录,即可看到仪表板界面
6、服务端后台运行
这里我们安装使用 screen 多重视窗管理程序来后台启动frp
安装
yum -y install screen
参数说明:
- -A 将所有的视窗都调整为目前终端机的大小。
- -d<作业名称> 将指定的screen作业离线。
- -h<行数> 指定视窗的缓冲区行数。
- -m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
- -r<作业名称> 恢复离线的screen作业。
- -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
- -s<shell> 指定建立新视窗时,所要执行的shell。
- -S<作业名称> 指定screen作业的名称。
- -v 显示版本信息。
- -x 恢复之前离线的screen作业。
- -ls或--list 显示目前所有的screen作业。
- -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
运行 screen 打开一个视窗
screen -S frp
切换到frp目录下运行frp
./frps -c frps.ini
(三)客户端配置(我的是windows):
1、登陆 https://github.com/fatedier/frp/releases 下载,同服务器端的第一步相同:但是要下载windows的 frp_0.37.0_windows_amd64.zip 。
frp_0.37.0_windows_amd64.zip 是64位系统,frp_0.37.0_windows_386.zip 是32位系统,根据自已的系统去下载对应的frp文件。
2、解压后放到自己的盘下:(我的放到了E盘)
3、修改 frpc.ini配置文件(C代表客户端),修改如下:
[common]
server_addr = x.x.x.x
server_port = 60008
token = 123456
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 60009
其中common字段下的三项即为服务端的设置。
- “server_addr”为服务端IP地址,填入即可。
- “server_port”为服务器端口,填入你设置的端口号即可,如果未改变就是7000
- “token”是你在服务器上设置的连接口令,原样填入即可。
- “[xxx]”表示一个规则名称,自己定义,便于查询即可。
- “type”表示转发的协议类型,有TCP和UDP等选项可以选择,如有需要请自行查询frp手册。
- “local_port”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可(windows远程桌面对应的端口一般是3389)。
- “remote_port”是该条规则在服务端开放的端口号,自己填写并记录即可。
4、 运行客户端
在cmd命令窗口输入 frpc -c frpc.ini ,看到如下提示效果说明客户端启动成功。
5、客户端后台运行及开机自启
frpc运行时始终有一个命令行窗口运行在前台,影响美观,我们可以使用一个批处理文件来将其运行在后台,而且可以双击执行,每次打开frpc不用再自己输命令了。
在任何一个目录下新建一个frpc.vbs格式的文件 ,编辑,粘贴如下内容并保存。
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "E:\frp_0.37.0_windows_amd64\frpc.exe -c E:\frp_0.37.0_windows_amd64\frpc.ini",0
将 E:\frp_0.37.0_windows_amd64 路径更改为你的frpc实际存放的目录。
至于开机启动,把这个 .vbs文件直接扔进Windows的开机启动文件夹就好了(启动文件夹路径,用WIN+R打开的运行窗口中输入:%programdata%\Microsoft\Windows\Start Menu\Programs\Startup ) 。
至此,客户端配置完成,之后就是你自己根据需要在frpc.ini后追加规则即可。
6、开启远程访问权限
右击我的电脑-属性-远程设置,如果客户端电脑没有密码需要先设置密码。
没有密码时在控制面板中设置一个账户密码:(点击更改账户类型)
选中自己的账户:进行密码设置