news 2026/6/23 21:08:10

ubuntu通过公网Ubuntu服务器远程桌面连接私网IPUbuntu

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ubuntu通过公网Ubuntu服务器远程桌面连接私网IPUbuntu

私网Ubuntu主机-------Ubuntu服务器---------私网IP Ubuntu主机

第一部分:公网 Ubuntu 服务器部署 frps(服务端)

步骤 1:安装依赖并下载 frp

# 切换root(避免频繁sudo) sudo -i # 安装wget(若未安装) apt update && apt install wget -y # 查看服务器架构(适配frp下载) ARCH=$(arch | sed 's/x86_64/amd64/; s/aarch64/arm64/; s/armv7l/arm/') # 下载frp(v0.52.3为稳定版,可替换最新版本) wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_${ARCH}.tar.gz -O frp.tar.gz # 解压并移动到系统目录 tar -zxvf frp.tar.gz FRP_DIR=$(ls | grep frp_0.52.3_linux_) mv ${FRP_DIR} /usr/local/frp # 清理压缩包 rm -f frp.tar.gz

步骤 2:配置 frps.ini

# 创建并编辑frps配置文件 cat > /usr/local/frp/frps.ini << EOF [common] # frp通信端口(需开放安全组) bind_port = 7000 # 自定义密钥(客户端必须一致,建议设复杂值) token = MyFrpSecret123! # 可选:控制台(监控连接状态) dashboard_port = 7500 dashboard_user = admin dashboard_pwd = admin # 日志配置(便于排查问题) log_file = /var/log/frps.log log_level = info log_max_days = 7 EOF

步骤 3:创建 systemd 服务(开机自启 + 崩溃重启)

# 编写frps服务文件 cat > /etc/systemd/system/frps.service << EOF [Unit] Description=FRP Server Service After=network.target network-online.target Wants=network-online.target [Service] Type=simple User=root ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini ExecReload=/bin/kill -HUP \$MAINPID Restart=on-failure RestartSec=5s LimitNOFILE=infinity [Install] WantedBy=multi-user.target EOF

步骤 4:启动 frps 并验证

# 重载systemd systemctl daemon-reload # 启动frps systemctl start frps # 设置开机自启 systemctl enable frps # 验证服务状态(显示active(running)则正常) systemctl status frps # 验证端口监听(显示7000端口LISTEN则正常) ss -tulnp | grep 7000 # 开放防火墙端口(若启用ufw) ufw allow 7000/tcp ufw allow 6000/tcp ufw allow 6389/tcp ufw allow 7500/tcp ufw reload

验证控制台(可选)

浏览器访问 http://公网服务器IP:7500,输入账号admin、密码admin,能看到 frps 状态则配置成功。

我这里已经配置成功了。

-------------------------------------

第二部分:远程 Ubuntu 主机部署 frpc+XRDP(客户端 + 桌面服务)

步骤 1:安装 XRDP 桌面服务(解决黑屏 / 权限问题)

# 切换root sudo -i # 更新软件源 apt update && apt upgrade -y # 安装XRDP(Ubuntu桌面版无需额外装桌面) apt install xrdp -y # 修复Ubuntu 22.04+/24.04 Wayland黑屏问题 sed -i 's/^#WaylandEnable=false/WaylandEnable=false/' /etc/gdm3/custom.conf # 给xrdp添加ssl证书权限(避免连接失败) adduser xrdp ssl-cert # 重启XRDP并设置开机自启 systemctl restart xrdp systemctl enable xrdp # 放行本地防火墙3389端口(XRDP默认) ufw allow 3389/tcp ufw reload # 验证XRDP状态(active(running)则正常) systemctl status xrdp

步骤 2:安装并配置 frpc(frp 客户端)

# 安装wget(若未安装) apt install wget -y # 下载同版本frp(和服务端一致) ARCH=$(arch | sed 's/x86_64/amd64/; s/aarch64/arm64/; s/armv7l/arm/') wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_${ARCH}.tar.gz -O frp.tar.gz # 解压并移动到系统目录 tar -zxvf frp.tar.gz FRP_DIR=$(ls | grep frp_0.52.3_linux_) mv ${FRP_DIR} /usr/local/frp rm -f frp.tar.gz # 配置frpc.ini(替换公网服务器IP) cat > /usr/local/frp/frpc.ini << EOF [common] # 公网服务器IP server_addr = braveboy.asia # frp通信端口(和服务端bind_port一致) server_port = 7000 # 密钥(和服务端token一致) token = MyFrpSecret123! # 日志配置 log_file = /var/log/frpc.log log_level = info log_max_days = 7 # SSH映射(可选,用于命令行连接) [remote_ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 # XRDP映射(核心:远程桌面端口) [remote_xrdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 6389 EOF

步骤 3:创建 frpc systemd 服务(开机自启)

cat > /etc/systemd/system/frpc.service << EOF [Unit] Description=FRP Client Service After=network.target network-online.target Wants=network-online.target [Service] Type=simple User=root ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.ini ExecReload=/bin/kill -HUP \$MAINPID Restart=on-failure RestartSec=5s LimitNOFILE=infinity [Install] WantedBy=multi-user.target EOF

步骤 4:启动 frpc 并验证

# 重载systemd systemctl daemon-reload # 启动frpc systemctl start frpc # 设置开机自启 systemctl enable frpc # 验证状态(active(running)则正常) systemctl status frpc # 验证日志(无报错则正常) tail -f /var/log/frpc.log

第三部分:本地 Ubuntu 主机连接远程桌面

步骤 1:安装 Remmina(Ubuntu 原生远程桌面客户端)

# 安装Remmina(若未预装) sudo apt update && sudo apt install remmina remmina-plugin-rdp -y

步骤 2:配置 Remmina 连接远程桌面

  1. 打开 Remmina:应用列表搜索「Remmina」或终端执行 remmina;
  2. 新建连接:点击左上角「+」号,填写以下参数:
  3. 配置项取值名称自定义(如「远程 Ubuntu 桌面」)协议RDP - Remote Desktop Protocol服务器公网服务器 IP:6389(如 1.2.3.4:6389)用户名远程 Ubuntu 主机的登录用户名(如 ubuntu)密码远程 Ubuntu 主机的登录密码
  4. 保存并连接:点击「保存」→「连接」,首次连接会弹出证书提示,选择「确认」即可进入远程桌面。

如果出现这个界面的时候,填写需要连接到的私网IP的用户名和密码就好了。

看我已经连接到了;;;;注意的是最后如果出现这个界面的时候

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 8:07:08

Unity学习笔记(十九)GUI控件(三)

窗口普通窗口private Rect dragWindow new Rect(400, 400, 200, 150);第一个参数 id是窗口的唯一ID&#xff0c;不要和别的窗口重复委托参数 是用于绘制窗口的函数 传入即可GUI.Window(1, new Rect(100, 100, 200, 150),DrawWindow,"测试窗口");id 除了区分不同窗口…

作者头像 李华
网站建设 2026/6/20 9:45:24

IPA 深度混淆是什么意思?分析其与普通混淆的区别

在一些安全讨论里&#xff0c;“IPA 深度混淆”这个词经常被提到&#xff0c;但真正落到工程实践时&#xff0c;不同团队对它的理解差异很大。 有人把它等同于“混淆得更狠一点”&#xff0c;也有人认为这是某种“高强度黑科技”。 从我接触过的项目来看&#xff0c;IPA 深度混…

作者头像 李华
网站建设 2026/6/22 13:08:22

33、Linux 内存管理全解析

Linux 内存管理全解析 1. 内存统计信息获取 在 Linux 系统中,我们可以通过调用 mallinfo() 函数来获取内存分配的统计信息。这个函数会以 mallinfo 结构体的形式返回统计数据,结构体是通过值传递,而非指针传递。 mallinfo 结构体的定义在 <malloc.h> 头文件…

作者头像 李华
网站建设 2026/6/23 19:52:41

5.回溯算法

装载问题&#xff1a;问题描述&#xff1a;有一批共n个集装箱要装上载重量为c的轮船&#xff0c;其中集装箱i重量为wi&#xff0c;集装箱装载问题要求确定在不超过轮船载重量的前提下&#xff0c;将尽可能多的集装箱装上轮船&#xff0c;且集装箱的重量之和最大回溯算法实现&am…

作者头像 李华
网站建设 2026/6/23 19:54:55

嵌入式模组温控策略

一、为什么需要温控策略? 嵌入式模组(尤其是通信模组如4G/5G、Cat.1等)在运行时会发热,主要热源包括: 基带处理器:信号编解码、协议处理 射频功率放大器:信号发射时功耗最大 电源管理芯片 环境温度影响:工业环境可达-40C ~ +85C 温度过高会导致:性能降频、通信中…

作者头像 李华