ToDesk 远程控制安装
pi@NanoPi-R6C:~$ sudo apt install curl
pi@NanoPi-R6C:~$ curl -o todesk-v4.7.2.0-arm64.zip http://rk3588image.wif.ink/R6C/todesk-v4.7.2.0-arm64.zip
pi@NanoPi-R6C:~$ unzip todesk-v4.7.2.0-arm64.zip
目前在RK3588 Ubuntu版本上无法正常远程控制
串口登陆
sudo minicom -D /dev/ttyUSB0 -b 1500000
NanoPi-R6C login: pi
Password: pi
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.1.57 aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
Expanded Security Maintenance for Applications is not enabled.
0 updates can be applied immediately.
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
Last login: Tue May 14 03:45:45 UTC 2024 on ttyFIQ0
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
pi@NanoPi-R6C:~$
adb 安装
pi@NanoPi-R6C:~$ sudo apt update
pi@NanoPi-R6C:~$ sudo apt install adb
pi@NanoPi-R6C:~$ adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
K5SAMAK490000763AJ device
ssh 安装
pi@NanoPi-R6C:~$ pi@NanoPi-R6C:~$ sudo apt install openssh-server
lxg@lxg:~$ ssh pi@192.168.1.142
The authenticity of host '192.168.1.142 (192.168.1.142)' can't be established.
ED25519 key fingerprint is SHA256:XDHx38PPWrxw6SQKf+MQokvVXBrs+uRF+McsUkESsSY.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.1.142' (ED25519) to the list of known hosts.
pi@192.168.1.142's password: pi
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 6.1.99 aarch64)
--------------------------------------
Last login: Fri Jul 18 10:20:20 2025
pi@NanoPi-R6C:~$
frp 常见用途
用途 | 示例 | 说明 |
---|---|---|
✅ SSH远程登录 | ssh 到内网主机 | 经典用途,可远程维护设备 |
✅ HTTP/HTTPS访问 | 内网 Web 服务暴露给公网 | 支持自定义域名、TLS |
✅ 远程桌面 | RDP、VNC、Wayland、X11 | 用于 Windows/Linux 桌面远程访问 |
✅ 数据库访问 | MySQL、PostgreSQL、Redis等 | 暴露数据库端口供远程连接(注意安全) |
✅ 文件服务 | FTP、SFTP、Samba(SMB) | 可搭配 GUI 工具实现文件共享 |
✅ 摄像头访问 | RTSP、HTTP、ONVIF | 视频流转发,适合远程监控 |
✅ API 调试 | 内网开发环境开放 REST API | 手机或公网测试本地服务 |
✅ 内网Web控制台 | HomeAssistant、NAS、OpenWrt | 浏览器远程控制家用或嵌入式设备 |
✅ IoT 协议转发 | MQTT 等 | 常用于嵌入式物联网终端的远程数据通信 |
frpc
frpc 是 frp(Fast Reverse Proxy) 的客户端程序,是一个专门用于内网穿透的工具
frpc 是客户端,用来把内网服务(如本地网页、SSH、VNC 等)映射到公网服务器上,从而实现外网访问内网设备。
frps
frps 是 frp(Fast Reverse Proxy)项目中的 服务端组件,用于在公网服务器(阿里云)上运行,接收来自内网客户端 frpc 的连接,实现内网穿透。
RustDesk对比FRP
对比维度 | RustDesk | FRP(Fast Reverse Proxy) |
---|---|---|
功能定位 | 图形化远程控制工具 | 内网穿透 / 端口映射工具 |
使用方式 | 图形客户端 + 远程桌面控制 | 配置 frpc 与 frps |
是否需要公网 IP | ❌ 不需要,支持打洞与中继 | ❌ 不需要,通过服务端中转 |
图像/键鼠控制 | ✅ 支持远程桌面、文件、剪贴板等 | ❌ 不支持(只能穿透服务端口) |
访问服务(如 SSH/Web) | ❌ 不支持 | ✅ 可穿透 SSH、HTTP、VNC 等 |
打洞机制 | 自研 UDP 打洞 + 中继服务器 | 支持 xtcp 、stcp ,但成功率有限 |
开源组件 | rustdesk , hbbs , hbbr |
frps , frpc |
服务端配置难度 | 中等,需要部署 hbbs/hbbr |
简单,1个 frps 即可 |
带宽占用 | 高(远控图像) | 低(仅数据流转发) |
多人访问 | 支持多用户,客户端带账号管理 | 需手动配置多个端口或使用 dashboard |
安全性 | 端到端加密,客户端验证、权限控制 | 支持 token + stcp/xtcp 加密 |
自托管能力 | ✅ 强,支持自建完整远控体系 | ✅ 强,可全自定义控制服务访问 |
适合谁 | 想“向日葵/ToDesk”远控类功能的人 | 想访问“内网 SSH/Web/API 等服务”的人 |
frp 的配置
frp_0.63.0_linux_arm64$ tree
.
├── frpc # 客户端bin程序
├── frpc.toml
├── frps # 服务端bin程序
├── frps.toml
└── LICENSE
服务端frps.ini
[common]
bind_port = 7000 # frps 与 frpc 通信使用的端口(frpc 连接这个端口)
dashboard_port = 7500 # 仪表盘(Web UI)端口,可通过浏览器查看连接状态
dashboard_user = admin # 仪表盘登录用户名
dashboard_pwd = admin # 仪表盘登录密码
vhost_http_port = 80 # 用于将 frpc 映射的 HTTP 服务暴露在 frps 的 80 端口上
vhost_https_port = 443 # 用于将 frpc 映射的 HTTPS 服务暴露在 frps 的 443 端口上
./frps -c frps.ini
客户端frpc.ini
[common]
server_addr = x.x.x.x # 公网服务器IP或域名
server_port = 7000 # 和 frps.ini 一致
# 用于客户端和服务端之间身份验证的 token(要和 frps.ini 中的 token 一致)
token = ***
# 示例 1:SSH 远程内网Linux
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000 # 你远程访问时用的端口:ssh -p 6000 公网IP
./frps -c frpc.ini
远程登陆
ssh -p 6000 hostname@server_addr