本文简单介绍了如何从Cisco AnyConnect迁移到OpenConnect。

Cisco AnyConnect是一个成熟的安全解决方案,但是在使用过程中可能会遇到一些不便,比如,用户无法直接从Cisco获得AnyConnect客户端,必须从所在企业的IT支持部门获得,否则只能从互联网上下载来路不明的客户端。

OpenConnect是一个兼容Cisco AnyConnect的开源虚拟专用网实现,其源代码可以轻易获得,一些包管理软件也提供OpenConnect。

OpenConnect支持大多数操作系统。

安装

这里以macOS为例,介绍OpenConnect的安装。

使用包管理器安装

macOS上的brew包管理器提供OpenConnect,在终端执行以下命令即可安装

1
brew install openconnect

需要注意的是,macOS并不预装brew,brew的安装及使用说明在这里

其它操作系统请至对应的包管理器自行寻找。

源码编译安装

如果没有包管理器,或者包管理器没有提供OpenConnect,那么需要使用源码编译安装。

相对于使用包管理器安装,源码编译安装较为繁琐。源码编译安装的说明在这里

连接

在终端执行以下命令即可连接

1
openconnect SERVER_ADDR

请将SERVER_ADDR替换为服务器的地址,连接时会要求提供用户名和密码。

如果不使用用户名密码方式而使用证书进行连接,那么就要使用-c选项提供证书所在位置。

1
openconnect -c certificate.pem SERVER_ADDR

请将certificate.pem替换为证书所在位置。

对于*nix系操作系统,如果当前账户不是root,那么直接用上面的命令连接可能会出现问题,解决方案是在命令的最前端添加sudo临时提权。

1
sudo openconnect SERVER_ADDR

如果不知道当前是什么账户,请在终端执行whoami命令,输出即是当前账户。