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にアップグレードしても、同じ問題が発生することにしました。
私はこの投稿で答えを見つけました:
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
--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>
Ubuntu 18.04でこのエラーが発生しました
以下のリンクと 2番目の回答 を使用してサーバーに接続できました。
-v
フラグを使用するだけです
Sudo openconnect -v NAMESERVER.COM