Tự động đăng nhập Cisco AnyConnect v3.1


10

Tôi gặp một chút khó khăn với Cisco AnyConnect v3.1 liên quan đến đăng nhập tự động. Tôi phải duy trì kết nối với một máy chủ duy nhất mỗi ngày và sẽ thật tuyệt nếu tôi không phải đào 16 mật khẩu char mỗi ngày. Tôi muốn khách hàng đăng nhập tự động, nhưng tôi thậm chí không chắc chắn vào thời điểm này rằng đó là một khả năng.

Tôi nên lưu ý rằng phần mềm AnyConnect được cung cấp cho tôi bởi công ty lưu trữ của chúng tôi và tôi cũng như bất kỳ ai trong tổ chức của tôi có quyền truy cập vào khía cạnh quản lý của mọi thứ. Tôi đã thấy rằng có một phần mềm như vậy trên các interwebs được gọi là "AnyConnect Profile Editor", nhưng Cisco sẽ không cho phép tôi tải xuống mà không cần đăng nhập hợp lệ.

Tôi đã tham gia %appdata%\local\cisco\cisco anyconnect secure mobility client\preferences.xmlđể xem xét sở thích của mình cũng như %programdata%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\ANYCONNECT.XMLđể xem lại cài đặt hồ sơ của mình. Không ai trong số này cho thấy bất cứ nơi nào tôi có thể lưu trữ thông tin đăng nhập của mình. Tôi thậm chí đã phá vỡ hồ sơ của tôi một vài lần bằng cách cố gắng bấm còi mật khẩu của tôi ở những nơi. Điều đó đã không làm việc, đi con số.

Cuối cùng, tôi tìm thấy bài đăng trên diễn đàn này dường như chỉ định "dấu vân tay" của chứng chỉ máy khách và máy chủ cũng như một thứ gọi là mã thông báo SDI.

Tuyên bố miễn trừ trách nhiệm: Tôi là nhà phát triển web hàng đầu vào ban ngày và đã khá lâu kể từ khi tôi phải tự mình quản lý mạng, xin lỗi vì câu hỏi không có gì cả!


1
Đây thường là chính sách được thiết lập và kiểm soát bởi những người quản lý quyền truy cập Anyconnect. Như bạn đã nói rằng bạn không có quyền truy cập vào phần cấu hình đó, tôi nghi ngờ có nhiều điều chúng tôi có thể làm để giúp bạn. Và đây có thể là chủ đề ngoài câu hỏi "người dùng cuối".
Brett Lykins

Câu hỏi hợp lý với chi tiết tốt ... hãy chuyển sang Siêu người dùng
Mike Pennington

Câu trả lời:


16

Đây là kịch bản của tôi để khởi chạy Cisco AnyConnect Mobility Client v3.1 và đăng nhập tự động. Lưu tập lệnh này dưới dạng FILENAME.vbs , thay thế PASSWORD bằng mật khẩu của bạn, thay thế đường dẫn đến exe VPN Client nếu cần (có thể không) và bạn cũng có thể cần điều chỉnh thời gian ngủ thứ 2 tùy thuộc vào tốc độ kết nối của bạn đáng tin cậy ở mức 5000 nhưng bạn có thể cần ít hơn / nhiều thời gian hơn để quay số về nhà). Tôi đã ghim vào thanh tác vụ của mình nhưng bạn cũng có thể nhấn phím nóng.

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
Một giải pháp khá hay! Tôi đã đặt thêm một số TAB , ENTERngủ cho trường hợp cụ thể của mình và nó hoạt động hoàn hảo. Đối với máy và kết nối internet của tôi (300Mbit trở xuống), tôi đã giảm tất cả thời gian ngủ xuống chỉ còn nửa giây (500 mili giây) và bây giờ tôi nhận được kết nối VPN cực nhanh! Cảm ơn bạn!
informatik01

1
Lưu ý: nếu mật khẩu của bạn chứa các ký tự%! (^ ~ +, Bạn cần đặt {và} xung quanh chúng.
jeroenk

4

Tôi sử dụng một cái gì đó dọc theo những dòng này:

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%

( Cập nhật: Tại sao các dấu ngoặc đơn xung quanh echo 0? Điều này sẽ nhắc nhở bạn, khi đưa ra một lựa chọn khác 0, 1>hoặc 2>có ý nghĩa đặc biệt, chuyển hướng stdouthoặc stderr, tương ứng - nhưng không lặp lại 1hoặc 2. Vì vậy, chúng tôi ở bên an toàn với ( echo 0).)

Đây là một chút ngắn gọn hơn:

(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

Tuy nhiên, nếu bạn muốn đạt được điều tương tự mà không cần tệp tạm thời, điều này không hiệu quả với tôi - tôi sẽ quan tâm, tại sao:

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

Cập nhật: Tác phẩm này, được tìm thấy qua /programming//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

Tất cả các biến thể này tất nhiên phụ thuộc vào cấu hình máy chủ của bạn (đặc biệt là nhóm VPN bạn phải chọn). Để tìm hiểu những gì bạn cần nhập, hãy gọi vpncli.exemà không có bất kỳ tham số nào một lần, bắt đầu với connect your.host.namevà sau đó lưu ý những gì bạn được nhắc.

Cập nhật: Điều này có thêm lợi thế là cung cấp sự tự do hoàn toàn liên quan đến máy chủ, tên người dùng và mật khẩu và không phụ thuộc vào bất kỳ giá trị ngủ nào (điều này luôn khó khăn nếu hệ thống của bạn có xu hướng bận rộn với thứ khác).


2
Công tắc -s không khả dụng trong phiên bản 3.1 của máy khách. Bạn có phiên bản 4.1 không? Là phiên bản đó có sẵn công khai ở đâu đó? Tôi không có giấy phép hợp lệ để tải xuống từ trang web của Cisco.
SzilardD

Có, tôi đã sử dụng phiên bản 4+. Tuy nhiên, tôi không biết bất kỳ nguồn công khai hợp pháp nào (có thể do hạn chế xuất khẩu).
bers

3

Tôi đang trả lời câu hỏi của riêng mình bằng câu trả lời "meh" này - đó không phải là câu hỏi của tôi và tôi sẵn sàng chấp nhận một câu trả lời khác có thể trả lời tốt hơn câu hỏi ban đầu của tôi.

Vì tôi không gặp may mắn với đăng nhập tự động, điều tốt nhất tiếp theo tôi có thể nghĩ đến là mật khẩu dài vô lý của tôi tự động được sao chép vào khay nhớ tạm của tôi. Trong Windows, tôi đã tạo một .battệp có phần này trong phần thân:

echo|set /p=MyPassword|clip

Trong đó "MyPassword" là mật khẩu thực tế của bạn.

Khi nhấp đúp chuột, tập tin này sẽ sao chép mật khẩu của bạn vào khay nhớ tạm thời để đăng nhập nhanh. Có còn hơn không!


Nếu bạn sẵn sàng làm một số việc tự động hóa ánh sáng, sử dụng AutoIt để bắt đầu ứng dụng VPN và sau đó sao chép mật khẩu vào trường mật khẩu
Mike Pennington

2
Xin vui lòng, lợi thế của echo|set /p=MyPassword|clipso với chỉ là echo MyPassword|clipgì?
bers

3
@bers Nếu bạn chỉ sử dụng, echo your_pass| clipnó cũng sẽ đặt / nối thêm ký tự dòng mới vào cuối your_pass . Chỉ cần tự mình thử và khi bạn dán nó vào một số trình soạn thảo, bạn sẽ nhận thấy con trỏ ở dòng tiếp theo (nếu bạn có trình chỉnh sửa có thể hiển thị các ký tự dòng mới, như Notepad ++ hoặc SciTE , hãy sử dụng nó và bạn sẽ thấy CRLF trên Windows ở cuối your_pass ). Nhưng giải pháp hiện tại của MikeZ hoạt động hoàn hảo (như một cách sao chép mật khẩu vào bảng tạm).
informatik01

1
@ notifyatik01 Cảm ơn bạn đã giải thích!
bers

1
(1) Giải thích tuyệt vời của @ notifyatik01 không giải quyết được đầy đủ nhu cầu echo|ở đầu dòng lệnh. Lý do là đó set /plà lệnh đọc một giá trị (một dòng) từ đầu vào tiêu chuẩn. Nếu không echo|, set /p=MyPassword|cliplệnh sẽ âm thầm ngồi và đọc một dòng từ thiết bị đầu cuối. (2) Tôi ghét nhìn thấy |không có khoảng trắng trước và sau. Nhưng hãy cẩn thận echo | set /p=MyPassword | clipsẽ ghi MyPassword (với một dấu cách) vào bảng tạm. Bạn có thể ngăn chặn điều đó bằng cách thêm dấu ngoặc kép : echo | set /p="MyPassword" | clip.
Scott
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.