如何使用带有身份验证令牌的 openvpn 守护进程

如何使用带有身份验证令牌的 openvpn 守护进程

我们最近开始在生产环境中使用 openvpn。我们这里也使用几种操作系统(Mac、Linux 和 Win)。我想谈谈 Linux。

那些有访问权限的人也有来自 safenet 的令牌:eToken 5100。我有 openvpn 配置文件,该文件设置为使用此令牌,并且一切正常。我开始

sudo openvpn conf.ovpn

然后,我被要求将密码添加到令牌中,我添加它,然后 vpn 启动并工作。

不幸的是,如果我尝试将其作为守护进程启动(通过在配置文件中添加“守护进程”行),它不会要求输入密码,当然也不会因此建立连接。

我们有几个 openvpn 点,我需要经常更改它们(我知道我可以同时拥有更多 openvpn 连接,但所有测试环境都有相同的 IP 子网,所以我不能同时连接到多个)

有没有办法将 openvpn 与 safenet 令牌一起用作守护进程?(如果我这样做,我将能够轻松创建脚本来更改 openvpn 服务器)

注意:在 Win 和 Mac OS 中,safenet token 都是通过 GUI 要求输入密码的,所以即使它作为守护进程启动,它也会要求输入密码,但在 linux 中则不会。

我的操作系统:Linux Mint 17 x64,SafeNet 身份验证客户端:8.3.40-0 amd64,openvpn:2.3.2-7ubuntu3

openvpn conf文件:

dev tun
persist-tun
persist-key
cipher AES-256-CBC
auth SHA1
tls-client
client
resolv-retry infinite
remote server.name.domain 1194 udp
lport 0
verify-x509-name "server.name.domain" name
ns-cert-type server
comp-lzo

<ca>
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
</ca>
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
...
-----END OpenVPN Static key V1-----
</tls-auth>
key-direction 1
pkcs11-providers /usr/lib/libeTPkcs11.so
pkcs11-id 'id of cert in token'

答案1

如果你设置

 script-security 2

在你的 ovpn(或 conf)文件中,你将可以运行 shell 脚本;然后你可以创建一个使用询问密码显示一个 GUI,允许您输入所需的凭据。

设置 askpass 并不是一件简单的事情;幸运的是,这个非常好的 U&L 答案为您提供所有需要的详细信息。

相关内容