在 Linux 上 安装 AnyConnect

AnyConnect 在 Linux 上的安装并不是很方便,这篇文章将会介绍如何在 Linux 上安装以及配置 AnyConnect,以及一些常见问题的解决方法。

安装 AnyConnect

您可以从任意源下载并安装 AnyConnect,以 root 权限执行压缩包中的 vpn_install 可执行程序即可安装 AnyConnect。

解决证书错误问题

出于某些原因,AnyConnect 的默认 CA 证书库完全无法使用,所以我们用 Linux 自带的 CA 证书库来代替 AnyConnect 的证书库。

1
2
sudo mv /opt/.cisco/certificates/ca ca.backup  # 备份证书库
sudo ln -sf /etc/ssl/certs/ /opt/.cisco/certificates/ca # 将系统证书库软链接到 AnyConnect

导入用户证书

Linux 上的 AnyConnect 无法读取 PKCS12 或 P12 证书,并且 Linux 也没有证书库,所以我们需要将私钥和公钥从 P12 证书中提取出来并放置在 AnyConnect 目录下。注意公钥和私钥名称必须相同, 如果公钥名称是 user.pem,那么私钥名称必须是 user.key

从 PKCS12 证书中提取公钥

其中 [email protected] 为输入 P12 证书,/opt/.cisco/certificates/client/[email protected] 为输出公钥。

1
openssl pkcs12 -in [email protected] -out /opt/.cisco/certificates/client/[email protected] -nokeys

从 PKCS12 证书中提取私钥

其中 [email protected] 为输入 P12 证书,/opt/.cisco/certificates/client/private/[email protected] 为输出私钥。

1
openssl pkcs12 -in [email protected] -out /opt/.cisco/certificates/client/private/[email protected] -nocerts -nodes