
我在使用 Cisco AnyConnect v3.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 開發人員,我已經很長時間沒有為自己做任何網絡管理了,對於這個菜鳥問題感到抱歉!
答案1
我使用了一些類似的東西:
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/880783:
(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
,然後記下提示您輸入的內容。
更新:這樣做的另一個優點是在伺服器、使用者名稱和密碼方面提供完全的自由,並且不依賴任何睡眠值(如果您的系統往往忙於其他事情,這總是很困難)。
答案2
這是我啟動 Cisco AnyConnect Mobility Client v3.1 並自動登入的腳本。將此腳本另存為檔案名稱.vbs, 代替 密碼使用您的密碼,根據需要替換VPN 用戶端exe 的路徑(可能不需要),您可能還需要根據您的連線速度調整第二個睡眠時間(我的在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}"
答案3
我正在用這個“meh”答案來回答我自己的問題 - 這不是我想要的,我很樂意接受另一個可以更好地回答我原來的問題的答案。
由於我在自動登入方面沒有任何運氣,所以我能想到的下一個最好的事情就是將我的長得可笑的密碼自動複製到我的剪貼簿。在 Windows 中,我建立了一個.bat
文件,其正文如下:
echo|set /p=MyPassword|clip
其中“MyPassword”是您的實際密碼。
雙擊時,該檔案會將您的密碼複製到剪貼簿中,以便快速登入。有總比沒有好!