SSTPC使用EAP-MSCHAP-v2认证连接VPN报no suitable secret found求助
问题原因
报错是两个配置不匹配导致的:
- peers配置中开启了
auth参数:该参数要求VPN服务端向本地客户端发起身份认证,普通个人拨号场景无需开启双向认证,你也没有在chap-secrets中存储服务端的认证密钥,因此pppd抛出找不到对应密钥的错误。 - 用户名配置不匹配:peers配置中
name字段填的是tvgogel,但chap-secrets第一列(客户端用户名)填的是my_username,pppd会按name字段的值去chap-secrets匹配对应的密钥,匹配失败也会触发认证错误。
修复步骤
- 第一步:修改
/etc/ppp/peers/xyz配置文件- 删除
auth整行内容 - 将
name tvogel修改为name my_username,和chap-secrets中的客户端用户名保持一致
- 删除
- 第二步:修正chap-secrets文件权限,pppd要求该文件权限必须为600否则会拒绝读取,执行命令:
chmod 600 /etc/ppp/chap-secrets chown root:root /etc/ppp/chap-secrets - 第三步:重新执行
pon xyz测试连接,如果仍有报错可以在peers配置中新增debug参数,查看系统日志定位问题:# 查看pppd相关日志 journalctl -f | grep pppd
可选补充
如果你确实需要开启双向认证(即客户端也要验证服务端身份),不需要删除auth参数,只需要在/etc/ppp/chap-secrets中新增一行服务端密钥配置即可:
xyz * 服务端认证密码 *
内容的提问来源于stack exchange,提问作者cookieforu
相关产品推荐
相关产品推荐

