web-dev-qa-db-ja.com

Cisco AnyConnect v3.1 AutoLogin

自動ログインに関して、Cisco AnyConnect v3.1で少し問題があります。私は毎日1つのサーバーに常時接続している必要があり、毎日16文字のパスワードを掘り下げる必要がなかったとしたら、それはすばらしいことです。クライアントに自動的にログオンしてもらいたいのですが、現時点ではそれが可能かどうかさえわかりません。

AnyConnectソフトウェアはホスティング会社から提供されたものであり、私や私の組織の誰も管理面にアクセスできないことに注意してください。 「AnyConnectプロファイルエディタ」と呼ばれるインターウェブ上にそのようなソフトウェアがあることは確認しましたが、シスコは有効なログインなしではダウンロードを許可しませんでした。

私は%appdata%\local\Cisco\cisco anyconnect secure mobility client\preferences.xmlで自分の設定を確認し、%programdata%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\ANYCONNECT.XMLで自分のプロファイル設定を確認しています。これらのどちらも、私の資格情報を保存できることをどこにも示していませんでした。私は自分のパスワードを数か所で探し出そうとして、自分のプロファイルを何度か壊しさえしました。うまくいきませんでした。

最後に、私は このフォーラムの投稿 を見つけました。これは、クライアントとサーバーの証明書の「拇印」とSDIトークンと呼ばれるものを指定しているようです。

免責事項:私は毎日フロントエンドのWeb開発者であり、自分でネットワーク管理を行わなければならなかったので、かなり長い時間がかかりました。noobの質問で申し訳ありません!

10
MikeZ

私はこの「まあ」の答えで自分の質問に答えています。それは私が求めていたものではなく、元の質問によりよく答えられる別の答えを喜んで受け入れます。

自動ログインがうまくいかなかったので、次に考えられる最善の方法は、途方もなく長いパスワードを自動的にクリップボードにコピーすることでした。 Windowsでは、.bat本文にこれを含むファイル:

echo|set /p=MyPassword|clip

「MyPassword」は実際のパスワードです。

このファイルをダブルクリックすると、パスワードがクリップボードにコピーされ、すばやくログインできます。何もないよりマシ!

3
MikeZ

Cisco AnyConnect Mobility Client v3.1を起動して自動的にログインするためのスクリプトを次に示します。このスクリプトをFILENAME.vbsとして保存し、[〜#〜] password [〜#〜]をパスワードに置き換え、必要に応じてVPN Client exeへのパスを置き換えます(おそらくしない)。また、接続速度に応じて、2番目のスリープ時間も調整する必要がある場合があります(鉱山は5000で確実に機能しますが、自宅に電話をかけるのに必要な時間は少なくなります)。私は自分のタスクバーにピン留めしましたが、ホットキーでもかまいません。

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.Run """%PROGRAMFILES(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpnui.exe"""

WScript.Sleep 3000

WshShell.AppActivate "Cisco AnyConnect Secure Mobility Client"

WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{TAB}"
WshShell.SendKeys "{ENTER}"

WScript.Sleep 5000

WshShell.SendKeys "PASSWORD"
WshShell.SendKeys "{ENTER}"
16
RADA

私はこれらの線に沿って何かを使用します:

set FILE=%TEMP%\tmp
echo connect your.Host.name> %FILE%
(echo 0)>> %FILE%
echo yourUserName>> %FILE%
echo yourPassWord>> %FILE%
"C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s < %FILE%

更新:なぜecho 0をかっこで囲んでいるのか0とは異なる選択を行う場合、これは1>または2>は特別な意味を持ち、それぞれstdoutまたはstderrをリダイレクトしますが、1または2はエコーしません。 (echo 0)。)

これはもう少し簡潔です:

(echo connect your.Host.name& echo 0& echo yourUserName& echo yourPassWord& echo.) > %FILE%
more %FILE% | "C:\Program Files\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

ただし、一時ファイルなしで同じことを達成したい場合、これは私にはうまくいきません-興味があります、なぜですか:

(echo connect your.Host.name& echo 0& echo yourUserName& echo yourPassWord) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

更新:これは動作します https://stackoverflow.com/a/29747723/88078

(echo connect your.Host.name^& echo 0^& echo yourUserName^&echo yourPassWord^&rem.) | "%ProgramFiles(x86)%\Cisco\Cisco AnyConnect Secure Mobility Client\vpncli.exe" -s

これらすべてのバリアントは、もちろんサーバーの構成(特に、選択する必要があるVPNグループ)に依存します。入力する必要があるものを見つけるには、パラメーターを指定せずにvpncli.exeを一度呼び出し、connect your.Host.nameで始めて、プロンプトの内容をメモします。

更新:これには、サーバー、ユーザー名、およびパスワードに関して完全な自由を提供するという追加の利点があり、スリープ値に依存しません(常にシステムが他のものでビジーになる傾向がある場合は困難です)。

4
bers