使用OpenVPN的Viscosity客户端配置#
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
本指南将展示如何配置`Viscosity客户端<https://www.sparklabs.com/viscosity/>`__以连接到OpenVPN实例。使用`Nitrokey Pro 2 <https://shop.nitrokey.com/shop/product/nk-pro-2-nitrokey-pro-2-3>`__(或 Nitrokey Storage 2)。和`PKCS#11认证<https://openvpn.net/community-resources/how-to/#what-is-pkcs11>`__。
先决条件#
在本指南中,你将需要一个为客户安装和配置的OpenVPN远程服务器。在本文件中,我们使用了安装在Debian 10服务器上的OpenVPN 2.49。
要阅读关于如何配置OpenVPN来验证Nitrokey Pro,你可以参考以下`文档<openvpn-easyrsa.html>`_,因为我们在本指南中只涉及配置Visuality客户端的方法。
你还将需要以下东西。
一个Nitrokey Pro 2或Nitrokey Storage 2
客户的私钥 ``client.key``加载在Nitrokey上。
客户的证书 ``client.crt``加载到Nitrokey上。
证书颁发机构文件,即用于设置 OpenVPN 的``CA.crt`` 文件
可选:共享密钥文件,即``ta.key``
关于``PKCS#11``用OpenVPN进行密钥管理的更多信息,请参考OpenVPN的`文档。<https://openvpn.net/community-resources/how-to/>`__。
使用方法#
启动Viscosity并创建一个新的连接 “openVPN”(你可以随心所欲地命名它)
在连接上点击右键并点击编辑
添加你的服务器的IP地址,并根据你的配置来配置端口。
在认证下,在``Type`向下滚动到``SSL/TLS Client (PKCS11)``。
为你的连接选择CA文件
可选的。选择``ta.key``在``TLS-Auth``部分。
点击供应商字段旁边的添加按钮,选择``PKCS#11``模块作为你的Nitrokey。可以指定多个供应商,例如,我们将使用``OpenSC``。
在macOS上,找到模块的最常见位置是/usr/lib目录。关于使用的位置,请参考你的驱动软件附带的文档。OpenSC的模块可以在``/Library/OpenSC/lib/opensc-pkcs11.so``找到。
在Windows上,库的最常见位置是在``C:Program Files`或者``C:WindowsSystem32```。OpenSC库通常位于``C:Program FilesOpenSC ProjectOpenSCpkcs11``。这里可能有不止一个库可用,你可以尝试每一个,或者干脆把两个库都加进去。
从检索的下拉菜单中选择一种检索方法
如果这台电脑上只使用一个硝基钥匙,请选择``Use certificate name below``。如果硝基钥匙目前已经连接到电脑上,点击``Detect``按钮,让粘度自动填入名称栏。否则这个字段可以手动完成。
如果有疑问,或可能使用一个以上的硝基(即多个用户),则选择``Prompt for certificate name``。
如果``Prompt for certificate name``被选中,Viscosity将自动检测Nitrokey上所需的密钥,使用指定的PKCS#11模块/s。从发现的任何设备中选择,或者输入``serialized id``的名称来手动使用。同样,如果需要,应该提示用户输入密码/PIN。
点击 “保存 “按钮,从主界面连接。
参考文献#
笔记#
Viscosity不是免费的,因此你在使用免费版本时可能会遇到问题。
我们正在考虑使用`Pritunl <https://client.pritunl.com/>`__作为一个免费和开放的替代方案。