我正在尝试使用 strongSwan 设置主机-主机配置。我确实设法使用证书进行了设置,现在我希望使用证书 + EAP 身份验证进行设置。
我混合了此配置使用我之前的证书配置并成功连接。但是,此配置要求客户端在本地保存密码。我必须说,我不明白为什么我应该使用密码而不是证书,如果它无论如何都保存在本地。我想要的是使用双因素身份验证 - 没有有效证书的客户端即使知道密码也无法进行身份验证,而具有有效证书的客户端在尝试连接时应该被提示输入密码。如果我理解正确,我的选择是:
- 使用可以提示输入密码的 NetworkManager
- 使用md5-id 提示
如果没有必要,我不想绑定到 NetworkManager。第二个选项不起作用,因为ipsec stroke
我的机器上的命令没有user-creds
子命令。这可能是因为我使用的是 strongSwan 4.x。即使它确实有效,也存在两个主要问题:
- 必须在命令行中输入密码,而不是通过交互提示
ipsec
,这是一种不好的安全做法。 - 如果我理解正确的话,一旦输入密码,ipsec 守护进程就会记住它直到重新启动,而不是在每次连接时提示输入密码。
有没有办法在不使用 NetworkManager 的情况下实现我的目标?
答案1
有没有办法在不使用 NetworkManager 的情况下实现我的目标?
绝对不是使用 strongSwan 4.x。在较新的版本中(自 5.1.0 起),您可以使用charon 命令,这是一个简单的命令行 IKE 客户端,它将提示您输入 EAP 密码。
必须在命令行中输入密码,而不是通过 ipsec 交互提示,这是一种不好的安全做法。
这rw-eap-md5-id 提示example 是一个自动化测试用例,因此在调用时自然会直接在命令行上提供密码ipsec stroke user-creds
。但是如果您不这样做,系统将以交互方式提示您输入密码。
如果我理解正确的话,一旦输入密码,ipsec 守护进程就会记住它直到重新启动,而不是在每次连接时提示输入密码。
是的,没错。用户名和密码会被缓存,直到守护进程重新启动。