使用OpenVPN的Viscosity客户端配置#

(Nitrokey Pro 2 - Windows)

本指南将展示如何配置`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上。

  • 证书授权文件,即``CA.crt``文件用于你的OpenVPN设置。

  • 可选的。共享秘钥文件,即``ta.key``。

关于``PKCS#11``用OpenVPN进行密钥管理的更多信息,请参考OpenVPN的`文档。<https://openvpn.net/community-resources/how-to/>`__。

使用方法#

  1. 启动Viscosity并创建一个新的连接 “openVPN”(你可以随心所欲地命名它)

img1
  1. 在连接上点击右键并点击编辑

img2
  1. 添加你的服务器的IP地址,并根据你的配置来配置端口。

  2. 在认证下,在``Type`向下滚动到``SSL/TLS Client (PKCS11)``。

  3. 为你的连接选择CA文件

可选的。选择``ta.key``在``TLS-Auth``部分。

img3
  1. 点击供应商字段旁边的添加按钮,选择``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``。这里可能有不止一个库可用,你可以尝试每一个,或者干脆把两个库都加进去。

  1. 从检索的下拉菜单中选择一种检索方法

img4
  • 如果这台电脑上只使用一个硝基钥匙,请选择``Use certificate name below``。如果硝基钥匙目前已经连接到电脑上,点击``Detect``按钮,让粘度自动填入名称栏。否则这个字段可以手动完成。

  • 如果有疑问,或者如果可能使用一个以上的硝基钥匙(即多个用户),那么选择``Prompt for certificate name``。

如果``Prompt for certificate name``被选中,Viscosity将自动检测Nitrokey上所需的密钥,使用指定的PKCS#11模块/s。从发现的任何设备中选择,或者输入``serialized id``的名称来手动使用。同样,如果需要,应该提示用户输入密码/PIN。

  1. 点击 “保存 “按钮,从主界面连接。

参考文献#

笔记#

  • Viscosity不是免费的,因此你在使用免费版本时可能会遇到问题。

  • 我们正在考虑使用`Pritunl <https://client.pritunl.com/>`__作为一个免费和开放的替代方案。