我有一个要设置的二维码,比如 google authenitcator 用来生成 TOTP 代码。我查看了二维码的文本值,它看起来像:
otpauth://totp/<user>@<host>?secret=A1A2A3A4A5A6A7A8
openconnect vpn 客户端声称我可以将密钥作为命令行参数传递给它,但我已经尝试过了
--token-secret=A1A2A3A4A5A6A7A8
但似乎不起作用?有这方面经验的人能给点建议吗?
答案1
您可以使用以下方式连接:
openconnect HOSTNAME --user=USERNAME --passwd-on-stdin --token-mode=totp --token-secret=sha1:base32:TOKEN
编辑:根据评论添加更多信息。
你缺少了
-token--mode=totp
您可以使用我在上面提到的命令进行连接。
--passwd-on-stdin
用于在执行命令后立即在 stdin 上输入密码(我必须说,未屏蔽的密码)。
另外,请确保提供与令牌密钥一起使用的编码和哈希算法。由于您提到您正在使用默认为 base32 和 sha1 的 google 身份验证器。
sha1:base32:TOKEN
最后,它在 Linux 和 Mac 上对我有效,但在 Windows 上无效。