Cisco AnyConnect v3.1 AutoLogin


10

ฉันมีปัญหาเล็กน้อยกับ Cisco AnyConnect v3.1 เกี่ยวกับการเข้าสู่ระบบอัตโนมัติ ฉันต้องเชื่อมต่อกับเซิร์ฟเวอร์เดียวทุกวันทุกวันและมันจะยอดเยี่ยมถ้าฉันไม่ต้องขุดรหัสผ่าน 16 ถ่านของฉันทุกวัน ฉันชอบที่ลูกค้าจะเข้าสู่ระบบโดยอัตโนมัติ แต่ฉันไม่แน่ใจในจุดนี้ว่าเป็นไปได้

ฉันควรทราบว่าซอฟต์แวร์ AnyConnect นั้นให้บริการโดย บริษัท โฮสติ้งของเราและฉันหรือใครก็ตามในองค์กรของฉันสามารถเข้าถึงด้านการจัดการของสิ่งต่าง ๆ ได้ ฉันเห็นว่ามีซอฟต์แวร์ชิ้นหนึ่งใน interwebs ที่เรียกว่า "AnyConnect Profile Editor" แต่ซิสโก้จะไม่ยอมให้ฉันดาวน์โหลดหากไม่มีการเข้าสู่ระบบที่ถูกต้อง

ฉันเคย%appdata%\local\cisco\cisco anyconnect secure mobility client\preferences.xmlไปทบทวนการตั้งค่าของฉันเช่นเดียวกับ%programdata%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\ANYCONNECT.XMLการตรวจสอบการตั้งค่าโปรไฟล์ของฉัน ไม่มีสิ่งเหล่านี้แสดงให้เห็นทุกที่ที่ฉันจะสามารถเก็บข้อมูลประจำตัวของฉัน ฉันทำโพรไฟล์ของฉันไม่กี่ครั้งด้วยการพยายามใส่ฮอร์นรหัสผ่านในที่ต่างๆ นั่นไม่ได้ไปคิดไป

สุดท้ายฉันพบโพสต์ฟอรั่มนี้ซึ่งดูเหมือนจะระบุ "thumbprints" ใบรับรองไคลเอ็นต์และเซิร์ฟเวอร์รวมถึงสิ่งที่เรียกว่าโทเค็น SDI

ข้อความปฏิเสธความรับผิดชอบ: ฉันเป็นนักพัฒนาเว็บส่วนหน้าและเป็นเวลานานมากที่ฉันต้องทำการจัดการเครือข่ายด้วยตัวเองขออภัยสำหรับคำถาม noob!


1
นี่เป็นนโยบายที่กำหนดและควบคุมโดยบุคคลที่จัดการการเข้าถึง Anyconnect ตามที่คุณระบุว่าคุณไม่สามารถเข้าถึงส่วนของการกำหนดค่านั้นฉันสงสัยว่ามีอะไรที่เราสามารถทำได้เพื่อช่วยคุณ และนี่อาจเป็นหัวข้อที่เป็นคำถาม "ผู้ใช้ปลายทาง"
Brett Lykins

คำถามที่สมเหตุสมผลและมีรายละเอียดดี ... มาโอนไปยังSuper User
Mike Pennington

คำตอบ:


16

นี่คือสคริปต์ของฉันเพื่อเรียกใช้ Cisco AnyConnect Mobility Client v3.1 และเข้าสู่ระบบโดยอัตโนมัติ บันทึกสคริปต์นี้เป็นFILENAME.vbsแทนที่ PASSWORDด้วยรหัสผ่านของคุณเปลี่ยนเส้นทางไปยัง VPN Client exe หากจำเป็น (อาจไม่) และคุณอาจต้องปรับเวลาสลีปที่สองเช่นกันขึ้นอยู่กับความเร็วในการเชื่อมต่อของคุณ เชื่อถือได้ที่ 5,000 แต่คุณอาจต้องใช้เวลาน้อยลงในการโทรกลับบ้าน) ฉันปักหมุดไว้ที่ทาสก์บาร์แล้ว แต่คุณก็สามารถกดปุ่มได้เช่นกัน

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}"

1
เป็นทางออกที่ดีทีเดียว! ฉันได้ใส่บางอย่างเพิ่มเติมTAB s, ENTERและการนอนหลับเป็นกรณีเฉพาะของฉันและมันทำงานได้อย่างสมบูรณ์แบบ สำหรับเครื่องและการเชื่อมต่ออินเทอร์เน็ตของฉัน (300Mbit ขึ้นไป) ฉันลดเวลาการนอนหลับลงเหลือเพียงครึ่งวินาที (500 มิลลิวินาที) และตอนนี้ฉันได้รับการเชื่อมต่อ VPN เร็วสุด ๆ ! ขอบคุณ!
informatik01

1
หมายเหตุ: หากรหัสผ่านของคุณมีอักขระ%! (^ ~ + คุณต้องใส่ {และ} รอบ ๆ พวกเขา
jeroenk

4

ฉันใช้อะไรตามบรรทัดเหล่านี้:

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
สวิตช์ -s ไม่พร้อมใช้งานในไคลเอนต์รุ่น 3.1 คุณมีเวอร์ชั่น 4.1 หรือไม่ รุ่นนั้นเผยแพร่สู่สาธารณะหรือไม่ ฉันไม่มีใบอนุญาตที่ถูกต้องในการดาวน์โหลดจากเว็บไซต์ Cisco
SzilardD

ใช่ฉันใช้รุ่น 4+ อย่างไรก็ตามฉันไม่ทราบแหล่งสาธารณะทางกฎหมายใด ๆ (อาจเป็นเพราะข้อ จำกัด การส่งออก)
bers

3

ฉันกำลังตอบคำถามของตัวเองด้วยคำตอบ "meh" นี้ - ไม่ใช่สิ่งที่ฉันเป็นหลังจากนั้นและฉันยินดีที่จะยอมรับคำตอบอื่นที่สามารถตอบคำถามเดิมของฉันได้ดีขึ้น

เนื่องจากฉันไม่มีโชคในการเข้าสู่ระบบอัตโนมัติสิ่งที่ดีที่สุดถัดไปที่ฉันคิดได้ก็คือให้คัดลอกรหัสผ่านที่ยาวที่น่าขันของฉันไปยังคลิปบอร์ดของฉันโดยอัตโนมัติ ใน Windows ฉันสร้าง.batไฟล์โดยใช้ไฟล์นี้:

echo|set /p=MyPassword|clip

ที่ "MyPassword" เป็นรหัสผ่านจริงของคุณ

เมื่อดับเบิลคลิกไฟล์นี้จะคัดลอกรหัสผ่านของคุณไปยังคลิปบอร์ดเพื่อเข้าสู่ระบบอย่างรวดเร็ว ดีกว่าไม่มีอะไร!


หากคุณยินดีที่จะทำระบบอัตโนมัติแบบเบา ๆ ให้ใช้autoitเพื่อเริ่มแอพ VPN แล้วคัดลอกรหัสผ่านลงในช่องรหัสผ่าน
Mike Pennington

2
ได้โปรดอะไรคือข้อดีของการecho|set /p=MyPassword|clipเปรียบเทียบกับเพียงecho MyPassword|clip?
bers

3
@bers ถ้าคุณใช้เพียงแค่echo your_pass| clipนี้ยังจะนำ / ผนวกตัวอักษรบรรทัดใหม่ในตอนท้ายของyour_pass เพียงแค่ลองด้วยตัวคุณเองและเมื่อคุณวางไว้ในการแก้ไขบางอย่างที่คุณจะสังเกตเห็นว่าเคอร์เซอร์อยู่ในบรรทัดถัดไป (ถ้าคุณมีการแก้ไขที่สามารถแสดงตัวอักษรบรรทัดใหม่เช่นNotepad ++หรือSciTEใช้มันและคุณจะเห็นCRLFบน Windows ที่ส่วนท้ายของyour_pass ) แต่โซลูชันปัจจุบันของ MikeZ ทำงานได้อย่างสมบูรณ์แบบ (เป็นวิธีการคัดลอกรหัสผ่านไปยังคลิปบอร์ด)
informatik01

1
@ informatik01 ขอบคุณสำหรับคำอธิบาย!
bers

1
(1) คำอธิบายที่ยอดเยี่ยมของ @ informatik01 ไม่ได้ตอบสนองความต้องการecho|ที่จุดเริ่มต้นของบรรทัดคำสั่งอย่างเต็มที่ เหตุผลคือนั่นset /pคือคำสั่งให้อ่านค่า (บรรทัด) จากอินพุตมาตรฐาน โดยไม่ต้องecho|ของset /p=MyPassword|clipคำสั่งเงียบจะนั่งอ่านบรรทัดจากท่าเรือ (2) ฉันเกลียดที่จะเห็นที่|ไม่มีที่ว่างทั้งก่อนและหลัง แต่ระวังที่echo | set /p=MyPassword | clipจะเขียนMyPassword (มีพื้นที่ต่อท้าย) ไปยังคลิปบอร์ด echo | set /p="MyPassword" | clipคุณสามารถป้องกันไม่ให้โดยการเพิ่มคำพูด:
สกอตต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.