Ubuntu 16.04 openconnect cisco vpn 无法获取webvpn cookie

Ubuntu 16.04 openconnect cisco vpn 无法获取webvpn cookie

在 Ubuntu 16.04 上我收到以下错误:

$ openconnect -v vpn.com
POST https://vpn.com/
Attempting to connect to server 1.1.1.1:443
SSL negotiation with vpn.com
Connected to HTTPS on vpn.com
Got HTTP response: HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Cache-Control: no-cache
Pragma: no-cache
Connection: Keep-Alive
Date: Mon, 22 Aug 2016 00:04:14 GMT
X-Frame-Options: SAMEORIGIN
X-Aggregate-Auth: 1
HTTP body chunked (-2)
XML POST enabled
Error: Server asked us to run CSD hostscan.
You need to provide a suitable --csd-wrapper argument.
Failed to obtain WebVPN cookie

我尝试过--no-xmlpost post,也遇到了错误。

以下是一些背景信息:
我使用的是 Ubuntu 14.04,并使用 openconnect 连接到 vpn 服务器。然后一周前,它因为这个问题停止工作了。我猜是 vpn 网站将其 Cisco vpn 服务器升级为 CSD 木马所需的服务器。无论如何,我决定升级到 16.04,但仍然遇到同样的问题。

答案1

我通过这篇文章找到了答案:
https://gist.github.com/l0ki000/56845c00fd2a0e76d688

我做了以下事情:

cd ~  
mkdir .cisco  
cd .cisco  
wget https://gist.githubusercontent.com/l0ki000/56845c00fd2a0e76d688/raw/61fc41ac8aec53ae0f9f0dfbfa858c1740307de4/csd-wrapper.sh  
chmod +x csd-wrapper.sh  

使用 vpn 服务器编辑文件:

CSD_HOSTNAME=vpnserver.com  

运行文件

./csd-wrapper.sh  

运行 openconnect:

sudo openconnect --csd-user=YOURLINUXUSERNAME --csd-wrapper=/home/YOURLINUXUSERNAME/.cisco/csd-wrapper.sh vpnserver.com  

答案2

我发现我还需要指定 --os=win。这似乎可以解决服务器在尝试下载 sfinst 时生成的 404 响应。

GET https://vpn.company.com/CACHE/sdesktop/install/binaries/sfinst
Got HTTP response: HTTP/1.1 404 Not Found (does not exist)

有关 sfinst 404 问题的信息可在 openconnect-devel 邮件列表上找到“当 CSD 可用时连接 Linux“ 邮政。

我成功使用了以下命令,该命令同时使用了 os 标志和 csd-wrapper 标志:

sudo openconnect \
    --user <USERNAME> \
    --cert-expire-warning=15 \
    --certificate <CERTFILE> \
    --os=win \
    --csd-user=<USERNAME> \
    --csd-wrapper=<PATHTO>/csd-wrapper.sh \
    https://<VPNADDRESS e.g., vpn.company.com>

答案3

我在 Ubuntu 18.04 中遇到了这个错误,
我能够使用下面的链接连接到服务器,并且第二个答案

只需使用 -v 标志

sudo openconnect -v NAMESERVER.COM

相关内容