安装配置 AnyConnect 证书登录
On 2016-04-26 17:33:35 By Soli安装配置 AnyConnect 证书登录
终于受不了每次科学上网都要输一遍密码了。于是下决心再折腾一遍 AnyConnect 的证书登录。最后,写了个脚本以便下次『一键安装』。
因为以前搞定了密码登录,所以安装 ocserv 和客户端 AnyConnect 的步骤就可以省了。
好消息是,CentOS 7 上已经有 ocserv 的安装源了。所以,一般只需要执行下面的命令就可以安装 ocserv 了。
$ sudo yum install ocserv
这里有几篇参考文章:
- 折腾笔记:架设OpenConnect Server给iPhone提供更顺畅的网络生活
- CentOS 7 安装 ocserv (OpenConnect Server) 并实现证书登录
- Ubuntu ocserv搭建
- ocserv 的 man 手册
下面的内容主要涉及服务端的证书生成和配置。
证书配置非常繁琐,主要是因为概念理不清楚,密钥、模板、签名、密码、证书、PKCS12 等等,太多概念需要理解;然后,操作步骤太多、参数繁杂。
本文并不打算讨论以上种种。这些都由下面的『一键安装脚本』搞定。脚本内容也不在此详细解释,只略记一下脚本的使用步骤。
- 下载脚本至
/etc/ocserv
或你服务器上ocserv
服务的配置文件路径下; 给脚本加上可执行权限:
$ chmod +x setup-anyconnect.sh
执行:
$ ./setup-anyconnect.sh for soli on solicomo.com
其中
soli
改成你自己想要的名字,solicomo.com
改成你服务器的域名或者 IP 。可以重复执行此命令给多个用户生成证书。只需改一下
soli
为其他名字即可。配置
ocserv
以上脚本会在当前路径下生成一个
pki
目录,下面有几个子目录和文件。假设当前路径为
/etc/ocserv
,打开ocserv
的配置文件ocserv.conf
并修改如下配置项:server-cert = /etc/ocserv/pki/server/server-cert.pem server-key = /etc/ocserv/pki/server/server-key.pem ca-cert = /etc/ocserv/pki/ca/ca-cert.pem crl = /etc/ocserv/pki/server/crl.pem
和证书相关的就这四项,其他配置项及防火墙配置请参见上面的『参考文章』。
下载并安装客户端证书
把
pki/client/soli/soli-cert.p12
(其中的两个 soli 换成你自己的名字)通过邮件或其他方式发送到手机,并安装。这一步『参考文章』里也有说明,网上也很容易搜到如何把服务证书设置为『信任』。
至此,AnyConnect 的证书登录就应该可用了。(如果还不行,可以在文后留言交流。)
还有个问题就是,如果这台服务器上的 ocserv 有很多人共用,并且某天想把其中的一个人剔除出去,该怎么办呢?
这个脚本也能帮你搞定。假设你不再想为 luna 这个用户提供服务了。只需执行以下命令:
$ ./setup-anyconnect.sh revoked luna on solicomo.com
同样的,把 solicomo.com
替换成你自己的服务器域名或 IP 。然后就等着 ocserv
重新加载配置文件即可。