Ubuntu 16.04 openconnect cisco vpn 无法获取 webvpn cookie

sds*_*ack 19 vpn networking cisco openconnect

在 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
Run Code Online (Sandbox Code Playgroud)

我也试过了--no-xmlpost post,也有错误。

这是一些背景:
我有 Ubuntu 14.04 并使用 openconnect 连接到 vpn 服务器。然后一周前,它停止处理这个问题。我的猜测是 vpn 站点将其 Cisco vpn 服务器升级为需要 CSD 木马。无论如何,我决定升级到 16.04 并且仍然有同样的问题。

sds*_*ack 12

我通过这篇文章找到了答案: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  
Run Code Online (Sandbox Code Playgroud)

使用 vpn 服务器编辑文件:

CSD_HOSTNAME=vpnserver.com  
Run Code Online (Sandbox Code Playgroud)

运行文件

./csd-wrapper.sh  
Run Code Online (Sandbox Code Playgroud)

运行 openconnect:

sudo openconnect --csd-user=YOURLINUXUSERNAME --csd-wrapper=/home/YOURLINUXUSERNAME/.cisco/csd-wrapper.sh vpnserver.com  
Run Code Online (Sandbox Code Playgroud)


小智 7

我发现我还需要指定 --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)
Run Code Online (Sandbox Code Playgroud)

有关 404 for sfinst 问题的信息可以在 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>
Run Code Online (Sandbox Code Playgroud)