WireGuard公钥常见填写错误汇总与正确填写方法 | AtomVPN
VPN 与加速器

WireGuard公钥常见填写错误汇总与正确填写方法

很多新手配置WireGuard VPN的时候,明明已经做好端口转发、防火墙放行了对应端口,反复重启服务也无法建立连接,排查下来接近三成的故障根源都是公钥填写错误。这类问题不会触发明确的系统报错提示,很多用户对公钥的生成规则、双向认证逻辑不熟悉,很容易踩隐形的配置坑,下面就汇总日常运维场景里遇到的高频WireGuard公钥常见填写错误,搭配可落地的校验方法帮大家避开配置陷阱。

公钥字符集与长度类填写错误

WireGuard的公钥是固定44位的Base64编码字符串,Atom合法字符只能包含大小写英文字母、数字、加号和斜杠,最后一位固定是等号,很多用户复制公钥的时候不小心多带了空格、换行符,或者把私钥的字符混进去,都会直接导致两端密钥校验不通过。

最常见的场景是用户在终端生成公钥之后,用鼠标选中复制的时候,不小心把命令行提示符后面的空白字符也选进去了,放到配置文件的PublicKey字段里之后,肉眼很难发现多出来的不可见字符,WireGuard服务端不会报明确的参数错误,只会静默丢弃所有来自该客户端的握手包。

正确的校验方法是把公钥字符串粘贴到任意纯文本编辑器里,开启显示所有字符的选项,确认字符串前后没有多余的空格、换行,总长度刚好是44位,不要用带自动格式化功能的富文本编辑器编辑WireGuard配置,避免编辑器自动给公钥加隐藏格式字符。

网络设备:WireGuard公钥:常见填

日常运维排查WireGuard配置故障,快速定位公钥填写异常问题

客户端与服务端公钥填反的典型误区

很多刚接触WireGuard的用户搞不清公钥的对应关系,误以为配置文件里只需要填自己的公钥,实际上WireGuard是双向认证机制,客户端配置里的Peer段PublicKey字段必须填服务端的公钥,Atom加速器服务端配置里对应Peer段的PublicKey字段必须填客户端的公钥,两者不能交叉。

这类WireGuard公钥常见填写错误的典型表现是两端配置完之后,用抓包工具可以看到客户端一直在发握手包,但服务端完全没有任何回应,防火墙和路由规则全是正常的,很多用户反复重启服务也解决不了,最后翻出来两边的公钥对比才发现填反了。

验证的时候可以分别打开服务端和客户端的配置文件,把服务端自己的Interface段的PublicKey值,Atom加速器和客户端Peer段填的PublicKey值做比对,完全一致才是正确的,反过来客户端Interface段的PublicKey值,也要和服务端对应Peer段的PublicKey值完全匹配。

公钥与预共享密钥字段混淆的错误

部分用户为了提升安全等级会额外配置预共享密钥,这时候很容易把公钥和预共享密钥的内容填错位,把公钥内容塞到PresharedKey字段里,或者反过来把预共享密钥填到PublicKey字段里,这类配置错误WireGuard启动的时候甚至不会主动报错,只会一直卡在握手阶段。

要区分两者的差异,预共享密钥虽然也是44位Base64字符串,但它是额外生成的可选参数,只有你主动执行wg genpsk命令生成的字符串才能填到PresharedKey字段里,不能用公钥或者私钥的内容代替。

跨设备迁移配置时的公钥继承错误

很多用户换手机、换软路由的时候,直接把旧设备的WireGuard配置文件完整复制到新设备里,没有更新新设备生成的对应公钥,导致服务端存的还是旧设备的公钥,新设备发起的连接永远通不过认证。

这种场景下很多用户误以为配置内容完全一样就可以通用,实际上WireGuard的密钥对是和设备独立绑定的,如果你在新设备上重新生成了密钥对,必须把新的客户端公钥同步更新到服务端的对应Peer配置里,再重启服务端的WireGuard服务才能正常连接。

最后做完所有配置修改之后,可以在任意一端的终端执行wg show命令,输出的对等体列表里会显示对端的公钥缩略信息,确认和你预期的公钥标识一致,就可以正常发起连接测试了。

远程办公编辑组 | Atom
远程办公编辑组
内容编辑

围绕办公网络、视频会议和远程访问,说明连接准备与常见排查步骤。

查看更多文章
连接指南

找到适合当前设备的指南

遇到WireGuard对端端口变更相关问题,可从“同步批准的配置并检查相关网络规则”开始阅读。开放一个端口不等于认证与路由配置正确,需要结合具体环境判断。