乐愚社区Beta

 linux  >  【原创】使用frp实现远程桌面

【原创】使用frp实现远程桌面

红叶遍山  L12  • 2022-02-27 • 回复 3 • 最后编辑于2022-02-28 08:54 • 只看楼主举报    

因为经常需要用公司的电脑进行一些操作,但是不在公司,这就需要远程控制电脑的一些软件,比如向日葵之类的...但是不太满意,又因为之前买过一个服务器,所以就自己搭建一个。

原理:端口透传,即把微软的远程桌面服务的端口通过frp服务映射到自己的公网云主机上,在家里的电脑上输入自己的公网IP连接公司电脑。

准备:一个大带宽的云主机(不小于8M/s即可),两台电脑。

过程:

1.github上下载frp到本地PC,我的架构都是X86,我选择Linux和Windows的,frp_0.39.1_windows_amd64.zip and frp_0.39.1_linux_amd64.tar.gz

2.把Linux的frp上传到云主机,

3.在云主机上操作,解压

解压之后

目录展示:

frpc  要远程的电脑用的执行文件

frpc.ini  要远程的电脑用的配置文件

frps  公网云主机上运行的服务

frps.ini  公网云主机上的服务配置文件

system 服务后台配置文件

4.在云主机上操作, 进入frp的文件夹,修改配置文件frps.ini。

修改配置文件,其实GitHub上有配置的详细说明,我这里精简一下。

[common]
bind_port = 7000 //端口号
token=123456   //传输加密的密码,操作时用不到,但使你的远程连接更加安全。

5.在云主机上操作, 启动服务

./frps -c frps.ini

启动成功:

保持这样,

6.在被控的PC机上操作,解压frp压缩包。

目录结构:

7.在被控的PC机上操作 ,进入解压文件夹,配置frpc.ini。

[common]
server_addr = X.X.X.X  // 云主机的公网IP
server_port = 7000  //和云主机一致
token = 123456  //和云主机一致

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389  //本地远程桌面端口
remote_port = 3389 //要在云主机上转的端口

8.在被控的PC机上操作 ,在这个文件夹打开cmd命令行运行frpc.exe。

./frpc.exe -c frpc.ini

如下:如果上一步没有配置VNC就没有,这个不是必要的,

同时你的云主机:

就连接上去了。

9.使用另一台电脑,打开远程桌面,连接。

输入自己的云主机公网IP。

连接

登录即可。

10.优化

a.一直打开cmd命令行运行不太行,写一个bat脚本运行,就方便多了。

@echo off
:home
frpc -c frpc.ini
goto home

放到frp的文件夹里面就可以了。

b.在云主机里面,把frps设置为后台常驻服务和开机自启。

把system下的frps.service复制到/lib/systemd/system 下,

cp frps.server /lib/systemd/system

配置自启和后台运行

systemctl daemon-reload
systemctl enable frps.server  //加入开机自启
systemctl start frps.server  //开始运行
systemctl status frps.server  //查看服务状态

服务状态:

c.下班了,但是忘记打开frp,你可以设置计划任务,下班之后,自己打开。

结束!


3条回帖
红叶遍山 楼主  L12  评论于
(1)  回复(0) 1#
不一定要用大带宽的云主机,frp主要是帮助定位ip的,实际传输中,只是控制端问下云主机被控制端在哪里,并不走多少流量的。
favour  L0  评论于
(0)  回复(0) 3#
为了保护传输数据的安全,请一定开启 TLS :客户端 tls_enable = true,只配置Token是不够的。同时题主Token也太简单了,可以考虑设置复杂一些。
还没注册帐号?快来注册社区帐号,和我们一起嗨起来!
关于本社区

集各类兴趣爱好于一身的轻量化交流社区,在此您可以和他人一起分享交流您觉得有价值的内容,社区鼓励大家发表原创内容,为社区添砖加瓦!

发帖奖励 → 社区版规 → 招聘版主 →
推荐版块
扫描二维码下载社区APP
回到顶部