Barrier使用SSL
一.环境和我遇到的问题:
我这里使用的是一台win10和一台win11安装的Barrier版本是BarrierSetup-2.3.4因为新版本的有可能会出现鼠标移不动的情况,因为我的一台设备是华为的matebookE因为屏幕分辨率不同尺寸也不同缩放不同这正是导致“可以从服务器推到客户端,但从客户端回不去服务器、鼠标卡住/隐形,但点击和键盘输入正常”的经典原因。
Barrier(尤其是 v2.4.0)在 服务器端有高 DPI 缩放 时,会严重误算屏幕边界,导致鼠标进入客户端后“卡在角落”(常右下角或上左角),只能点击不能移动。这在 GitHub issue #94、#1638、#1415 等中反复出现,用户确认是 Windows 服务器 + 高缩放(150%+)的 bug。客户端 200% 缩放会放大问题,但根源多在服务器端缩放不匹配或未处理好 HiDPI,所以假如有跟我一样遭遇的人可以避免踩坑
1.2.理解 SSL 在 Barrier 中的工作原理:
服务器端:生成证书,提供指纹给客户端验证。
客户端端:生成证书,信任服务器指纹(手动或弹出确认)。
双向验证:可选强制客户端证书(更安全)。
端口:默认 24800 TCP/UDP(加密后不变)。
益处:防局域网嗅探(Wireshark 等无法读明文)。
缺点:配置麻烦,延迟微增(家网下 <10ms)。
不加密的风险:明文易被同一 Wi-Fi 监听。
二.下载安装OpenSSL(两台电脑全部需要):
打开浏览器,访问官网:OpenSSL
下载对应的版本安装

我的win10没有什么选择,这里说一下win11的选择,大家可以自行选择或者参照我的选择

这里的选择对于后续的影响不大可按需选择

默认即可

这里选择第二个

选择第一个

选第一个

第一个

选第一个

选第一个

第一个

默认

然后重启电脑
打开 cmd 或 PowerShell(普通用户即可),输入:
点击查看代码
git --version
和
点击查看代码
openssl version

假如openssl没有出现需要手动配置一下环境变量
先查看openssl有没有安装好,根据你安装目录写路径
点击查看代码
dir "C:\Program Files\Git\usr\bin\openssl.exe"

然后在此电脑右键属性选择高级系统设置中的环境变量

在系统变量path中新建填入下面路径(根据git安装位置调整)
点击查看代码
C:\Program Files\Git\usr\bin

然后重新开一个命令框输入上面命令,出现下面内容就算成功

三.生成自签名证书(自签名证书):
每台电脑生成自己的 Barrier.pem 文件(证书 + 私钥)。
1.以管理员身份打开 PowerShell(右键开始菜单 → Windows PowerShell (管理员))。
2.运行以下命令(替换 “jin” 为你的实际用户名;如果用户名有空格/中文,用双引号包住路径,如 "C:\Users\你的用户名\AppData\Local\Barrier\SSL"):
点击查看代码
Set-Alias openssl "C:\Program Files\Git\usr\bin\openssl.exe" # 如果 Git 路径不对,改成你的(如 C:\Program Files (x86)\Git\usr\bin)
cd "C:\Users\jin\AppData\Local\Barrier\SSL"
if (!(Test-Path .)) { mkdir . } # 创建 SSL 文件夹,如果不存在
if (!(Test-Path "Fingerprints")) { mkdir Fingerprints } # 创建 Fingerprints 子文件夹
openssl req -x509 -nodes -days 3650 -subj /CN=Barrier -newkey rsa:4096 -keyout Barrier.pem -out Barrier.pem
4.运行后无错误,检查文件:
打开文件夹 C:\Users\jin\AppData\Local\Barrier\SSL,看到 Barrier.pem

如果报 “无法找到路径”:手动创建文件夹 C:\Users\用户名\AppData\Local\Barrier\SSL,再跑命令。
四. 获取服务器证书指纹(只在服务器电脑做):
指纹用于客户端信任服务器。
1.在服务器电脑(如 Win10)管理员 PowerShell 中运行:
点击查看代码
openssl x509 -fingerprint -sha256 -noout -in "C:\Users\用户名\AppData\Local\Barrier\SSL\Barrier.pem"

复制整个字符串(包括冒号),记下来或发到客户端电脑
五.在客户端信任服务器指纹(只在客户端电脑做):
1.在客户端电脑(如 Win11)打开文件夹 C:\Users\jin\AppData\Local\Barrier\SSL\Fingerprints
2.新建文本文件 TrustedServers.txt(用记事本,保存为 .txt,UTF-8 编码,无 BOM)。
3.内容(一行,一字不差):
点击查看代码
v2:sha256:12:34:56:78:9A:BC:DE:FG:HI:JK:LM:NO:PQ:RS:TU:VW:XY:Z0:12:34:56:78:9A:BC:DE:FG:HI:JK:LM:NO:PQ:RS:TU
替换成服务器的实际指纹(加 “v2:sha256:” 前缀,无空格/换行)。
4.保存,重启客户端 Barrier。
然后启动ssl就可以了

注意最好用户名里面没有中文或者空格不然可能失败

浙公网安备 33010602011771号