惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
博客园 - 司徒正美
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
T
Tailwind CSS Blog
A
About on SuperTechFans
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
Visual Studio Blog
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News
博客园 - 聂微东

Windows

Windows“快速启动”不工作——混合关闭已被磁盘检查请求覆盖。系统将改为执行完全关闭。 - V2EX 京东店卖的哪些 FPP 零售彩盒 靠谱吗。 - V2EX Gluestick - 比 Scoop 更快、更好用的包管理器 - V2EX MSPCManagerService.exe 占用 cpu , 如何解决 - V2EX 十几年了,微软还是没修复资源管理器图标排列的问题 - V2EX Windows 下图片标注工具没有一个好用的 - V2EX 有没有遇到更新 Win11 2026-07 之后每次开机反复 chkdsk 的(NTFS 分区被标 dirty) - V2EX 用 AI 搓了个通过 DLNA 协议投屏的小工具 大家有用过 Power Automate 吗? 一台[物理断网]+[加密解密专用]的 WIN 电脑,如何在开机后“主动补熵”呢? 做了个原生的护眼应用 把 Windows Terminal 优化配置过程更新了一下 Windows 10 任务管理器闪退问题 有没有人 vibe coding 一个支持 udp 的运行在 macos 上的 windows App? 最近准备更新系统到 windows 11,大家给 win 11 分配的 C 盘空间是多少 - V2EX IDM 下载器是不是出问题了 一直让 Windows 资源管理器崩溃 终于解决困扰我 2 年多的 win10 内存泄漏问题了 WSL Containers 有老哥用上了吗? Win RDP 远程桌面音频时不时抽风(无声音) 大佬们我重装了个 win11 以后,右键任务栏的程序不会出现功能了 求助!个人平时用 windows 都是打游戏,如何给 windows 做程序员风格优化?周末想给老婆的电脑处理一下 windows11 专业版,微软商店下载的 chatgpt 桌面版,打开速度很慢。点击之后大概 1 分钟才真正打开,才弹出窗口。这是什么问题,如何解决? Windows11 里面的防火墙规则,如何有效清理? win11 笔记本开启虚拟化安全和内存完整性两项功能么? 用惯了 MacOS 启动台 Launchpad,于是我创建了 Windows 版的 Launchpad AI 可以精简 windows 镜像(国产的不行) 2026 年了,还有人使用精简 windows 镜像吗? 游戏美术专业学生,拯救者 Y9000P 和 ASUS ProArt 16,应该选哪一款? Microsoft.Coreutils 看起来很普通啊,为毛大家都在吹 CPU 不在 win11 支持列表中,如果安装 11,有啥后果?
windows 远程登录方案分享
shuyuncong · 2026-01-07 · via Windows

最近看到很多关于 window 远程方案登录的讨论,所以在此也和大家分享一下之前自己的方案,以供相同条件约束下的朋友参考,也借此机会看看大家是怎么处理的。(叠甲:当前方案是目前的资源和约束下的选择)

背景诉求

在公司访问家里的 Windows 开发机,用来浏览器查阅资料、微信、Typora 笔记、Termius 等。

目前的现状是:

  • 公司环境: 电脑安装了监控软件,限制安装额外微信、代理/组网软件( VPN / Tailscale / ZeroTier 全部不可安装),网络无公网 IPv4/IPv6 。
  • 家庭环境: PVE 虚拟化的 Windows ,只有 IPv6 公网。

核心诉求是

  • 在公司 通过 RDP 或 Web 访问家庭 Windows
  • 日常操作流畅(打字、拖窗口不卡)
  • 安全性优先,最好支持 MFA
  • 尽量不“触发公司风控规则”

资源和约束

资源

  • 日本大板服务器 ×2
    • IPv4 + IPv6
    • 公司 ↔ 日本 ≈ 200ms
    • 家庭 ↔ 日本 ≈ 200ms
  • 樱花 FRP / 其他公益 FRP
    • 延迟 ≈ 40ms

约束

  • ❌ 公司电脑:不能装任何额外客户端(目前连 Tailscale 都不敢继续用)
  • ❌ 家庭 Windows:只有公网 IPv6
  • ✅ 优先 RDP ,其次 Web
  • ✅ 日常使用要求流畅
  • ✅ 安全性要高,最好有 MFA
  • ✅ 可选资源只有:日本服务器 / 公益 FRP

方案对比

方案 访问方式 客户端依赖 延迟 安全性 结论
日本服务器 + Guacamole Web ⚠️ 可用,但体验一般
FRP + 家庭 Guacamole Web ⚠️ 可用,但体验一般
FRP + SSH 隧道 + RDP RDP ✅ 最优解
FRP + RDP + multiOTP RDP 很高 ⭐ 可叠加
公益 FRP 内置 TOTP RDP ⚠️ 依赖定制 FRP

最终选择:公益 FRP + SSH 隧道 + RDP

整体架构

公司电脑(自带 SSH 客户端)
   │
   │ ssh -i key -N -L 13389:WIN:3389
   ▼
公益 FRP ( TCP 高位端口)
   │
   ▼
PVE · Debian 跳板机
   │  · 仅 SSH key
   │  · 仅允许访问 Windows:3389
   ▼
家庭 Windows ( RDP )

核心原则

  • ❌ Windows 不暴露公网

  • ❌ Debian 不能随意访问内网

  • ❌ 禁止密码登录

  • ❌ 不使用 22 / 3389 等常见端口

  • ✅ Windows 启用 NLA ,使用非管理员账户

    ✅ 可选叠加 Windows 端 MFA ( multiOTP )

  • ✅ 所有流量必须:FRP → SSH → 指定 RDP

  • ✅ SSH 权限最小化(只做端口转发),通过防火墙锁死出口,只允许访问 Windows 的 3389 ,防止跳板机沦陷后内网被横向渗透。

公益 FRP + SSH 隧道方案实施

基础设施搭建

跳板机系统选择

  • Debian 12 minimal
  • 1C / 2G / 32GB 磁盘足够

基础系统加固

apt update && apt upgrade -y
apt install -y openssh-server ufw fail2ban curl

用户职责划分

为了安全,我们将“管理权限”和“隧道权限”分开。

  • tunnel:只允许端口转发
  • debian:运维备用账号
# tunnel 用户:仅用于建立隧道,无 Shell 权限
adduser tunnel
usermod -aG sudo tunnel
# debian-cc 用户:管理员,用于维护系统
adduser debian
usermod -aG sudo debian

SSH 安全加固

tunnel 用户(公司 → 跳板机)

在公司电脑生成密钥对,将公钥上传至 Debian 的 /home/tunnel/.ssh/authorized_keys

ssh-keygen -t ed25519 -f id_frp_ssh

authorized_keys 中强制限制能力:我们需要配置 SSH ,使得公司电脑连接时,只能做端口转发,不能执行命令,且只能转发到家里的 Windows IP 。

restrict,port-forwarding,permitopen="192.168.31.120:3389" ssh-ed25519 AAAA...

这个 key:

  • ❌ 不能 shell
  • ❌ 不能转发其他端口
  • ✅ 只能指向 Windows RDP ,即使黑客拿到了私钥,他也连不上内网的其他设备

SSH 服务端限制

编辑 /etc/ssh/sshd_config,修改 SSH 端口为高位端口(防扫描),并禁用密码登录。

Port 53822                  # 高位端口
PermitRootLogin no          # 禁止 Root
PasswordAuthentication no   # 禁止密码
ChallengeResponseAuthentication no
PubkeyAuthentication yes    # 只认 Key
AllowUsers tunnel debian    # 白名单用户

# 针对管理员:允许 Shell ,禁止转发
Match User debian
    PermitTTY yes
    AllowTcpForwarding no

# 针对隧道用户:禁止 Shell ,限制转发目标
Match User tunnel
    AllowTcpForwarding yes
    PermitOpen 192.168.31.120:3389
    X11Forwarding no
    AllowAgentForwarding no
    PermitTTY no

配置完成后重启 SSH 服务:systemctl restart ssh

防火墙策略

验证原则只有一条:

跳板机只能访问 Windows ,不能访问任何其他内网。

# 1. 默认策略:拒绝入站,默认允许出站(稍后限制)
ufw default deny incoming
ufw default allow outgoing

# 2. 允许 FRP 流量进出( SSH 端口)
ufw allow 53822/tcp

# 3. 精细化出站规则 (Output Chain)
# 允许 Debian 访问 Windows 的 RDP
ufw allow out to 192.168.31.120 port 3389 proto tcp

# 允许访问网关 (DNS/路由需要)
ufw allow out to 192.168.31.1

# 拒绝访问内网其他所有 IP (防止横向移动)
ufw deny out to 192.168.31.0/24

# 启用防火墙
ufw enable

Fail2ban

配置 /etc/fail2ban/jail.local 监控 53822 端口,错误尝试 2 次即封禁 24 小时。因为公网暴露 SSH 必然会被扫描,这是最后一道防线。

[sshd]
enabled = true
port = 53822
maxretry = 2
bantime = 24h

关于 Windows 安全的建议

虽然 RDP 不暴露公网,但还是建议对目标 Windows 进行加固:

  1. **启用 NLA (网络级别身份验证)**。
  2. 创建非管理员用户用于远程登录。
  3. 强密码策略
  4. (进阶) 配合 MultiOTP 软件,在 Windows 登录时强制要求 MFA 动态口令,进一步提升安全性。

内网穿透配置 (FRP)

使用低延迟的国内公益 FRP (如樱花 FRP / Nyat 等),将 Debian 的 SSH 端口暴露出去。

安装 FRPC

# 切换到 tunnel 用户安装,避免使用 root
su - tunnel
wget https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_amd64.tar.gz
# ...解压并移动到 /usr/local/bin/frpc

配置文件 (/etc/frpc.toml)

我们**不直接穿透 RDP (3389)**,而是穿透 **SSH (53822)**。

serverAddr = "rdp.example.com" # FRP 服务端地址
serverPort = 7000
user = "your_user_id"
auth.token = "your_token"

[[proxies]]
name = "tunnel_ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 53822
remotePort = 53389

设为系统服务

创建 /etc/systemd/system/frpc.service 并启动,确保断电重启后自动上线。

公司电脑使用方式

在公司电脑上,不需要安装任何软件,只需要一个 SSH 私钥文件(id_frp_ssh)。

建立隧道

打开 PowerShell 或 CMD:

ssh -i id_frp_ssh -N \
  -L 13389:192.168.31.120:3389 \
  -p 53389 [email protected]
  • -N: 不执行远程命令(仅转发)。
  • -L 13389:IP:3389: 将本地的 13389 端口映射到家中 Windows 的 3389 。

连接 RDP

打开 Windows 自带的“远程桌面连接”

mstsc → 127.0.0.1:13389

实际体验

  • 延迟: 既然走的是国内/周边节点的 FRP ,物理延迟极低(约 40ms ),打字跟手,拖动窗口无残影。
  • 安全: 公司防火墙只看到一个普通的 TCP 连接;所有数据经过 SSH 加密;家里的 Windows 没有任何端口暴露在公网。
  • 合规: 没有在公司电脑安装任何未经授权的 .exe 或 VPN 客户端。

原文: https://blog.illsky.com/posts/homelab-ssh-rdp/