Cisco AnyConnect v3.1 AutoLogin


10

Saya mengalami sedikit kesulitan dengan Cisco AnyConnect v3.1 dalam hal login otomatis. Saya harus tetap terhubung ke satu server sepanjang hari setiap hari, dan itu akan menjadi super jika saya tidak harus menggali kata sandi char saya 16 setiap hari. Saya ingin klien untuk masuk secara otomatis, tetapi saya bahkan tidak yakin pada titik ini bahwa itu adalah suatu kemungkinan.

Saya harus mencatat bahwa perangkat lunak AnyConnect diberikan kepada saya oleh perusahaan hosting kami, dan saya maupun siapa pun di organisasi saya tidak memiliki akses ke sisi manajemen. Saya memang melihat ada semacam perangkat lunak pada jalinan yang disebut "AnyConnect Profile Editor," tetapi Cisco tidak akan membiarkan saya mengunduh tanpa login yang valid.

Saya telah ke %appdata%\local\cisco\cisco anyconnect secure mobility client\preferences.xmluntuk meninjau preferensi saya serta %programdata%\Cisco\Cisco AnyConnect Secure Mobility Client\Profile\ANYCONNECT.XMLmeninjau pengaturan profil saya. Tak satu pun dari ini menunjukkan di mana pun bahwa saya akan dapat menyimpan kredensial saya. Saya bahkan mematahkan profil saya beberapa kali dengan mencoba memasukkan kata sandi saya di beberapa tempat. Itu tidak berhasil, pikirku.

Terakhir, saya menemukan posting forum ini yang tampaknya menentukan "cap jempol" klien dan sertifikat server serta sesuatu yang disebut token SDI.

Penafian: Saya adalah pengembang web front-end pada siang hari dan sudah cukup lama sejak saya harus melakukan manajemen jaringan untuk diri saya sendiri, maaf untuk pertanyaan noob!


1
Ini biasanya kebijakan yang ditetapkan dan dikendalikan oleh orang-orang yang mengelola akses Anyconnect. Seperti yang telah Anda katakan Anda tidak memiliki akses ke bagian konfigurasi itu, saya ragu ada banyak yang bisa kami lakukan untuk membantu Anda. Dan ini kemungkinan di luar topik sebagai pertanyaan "pengguna akhir".
Brett Lykins

Pertanyaan yang masuk akal dengan detail bagus ... mari bermigrasi ke Pengguna Super
Mike Pennington

Jawaban:


16

Berikut ini skrip saya untuk meluncurkan Cisco AnyConnect Mobility Client v3.1 dan masuk secara otomatis. Simpan skrip ini sebagai FILENAME.vbs , ganti PASSWORD dengan kata sandi Anda, ganti path ke exe VPN Client jika diperlukan (mungkin tidak), dan Anda mungkin juga perlu menyesuaikan waktu tidur kedua juga tergantung pada kecepatan koneksi Anda (pekerjaan tambang) andal pada 5000 tetapi milik Anda mungkin membutuhkan lebih sedikit / lebih banyak waktu untuk menelepon ke rumah). Saya telah memasang pin saya di bilah tugas, tetapi Anda dapat melakukan hotkey juga.

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
Solusi yang cukup bagus! Saya telah memasukkan beberapa tambahan TAB , ENTER dan tidur untuk kasus khusus saya dan itu bekerja dengan sempurna. Untuk mesin dan koneksi internet saya (300Mbit naik dan naik), saya mengurangi waktu tidur hanya setengah detik (500 milidetik) dan sekarang saya mendapatkan koneksi VPN yang super cepat! Terima kasih!
informatik01

1
Catatan: jika kata sandi Anda berisi karakter%! (^ ~ +, Anda harus meletakkan {dan} di sekitar mereka.
jeroenk

4

Saya menggunakan sesuatu di sepanjang baris ini:

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%

( Pembaruan: Mengapa tanda kurung ada di sekitar echo 0? Ini seharusnya mengingatkan Anda, ketika membuat pilihan yang berbeda dari 0, itu 1>atau 2>memiliki makna khusus, mengarahkan stdoutatau stderr, masing-masing - tetapi tidak menggema 1atau 2. Jadi kami tetap di sisi aman dengan ( echo 0).)

Ini sedikit lebih ringkas:

(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

Namun, jika Anda ingin mencapai hal yang sama tanpa file sementara, ini tidak berfungsi untuk saya - saya akan tertarik, mengapa:

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

Pembaruan: Ini berfungsi, ditemukan melalui /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

Semua varian ini tentu saja tergantung pada konfigurasi server Anda (terutama grup VPN yang harus Anda pilih). Untuk mengetahui apa yang perlu Anda input, panggil vpncli.exetanpa parameter apa pun sekali, mulai dengan connect your.host.name, dan kemudian catat apa yang diminta.

Pembaruan: Ini memiliki keuntungan tambahan dengan menawarkan kebebasan penuh sehubungan dengan server, nama pengguna dan kata sandi, dan tidak bergantung pada nilai-nilai tidur (yang selalu sulit jika sistem Anda cenderung sibuk dengan hal lain).


2
Switch -s tidak tersedia dalam versi 3.1 dari klien. Apakah Anda memiliki versi 4.1? Apakah versi itu tersedia untuk umum di suatu tempat? Saya tidak memiliki lisensi yang valid untuk mengunduhnya dari situs web Cisco.
SzilardD

Ya, saya menggunakan versi 4+. Namun, saya tidak tahu sumber hukum apa pun dari publik (mungkin karena pembatasan ekspor).
bers

3

Saya menjawab pertanyaan saya sendiri dengan jawaban "meh" ini - bukan itu yang saya cari, dan saya akan dengan senang hati menerima jawaban lain yang bisa menjawab pertanyaan awal saya dengan lebih baik.

Karena saya tidak beruntung dengan login otomatis, hal terbaik berikutnya yang dapat saya pikirkan adalah memiliki kata sandi saya yang panjang dan panjang secara otomatis disalin ke clipboard saya. Di Windows, saya membuat .batfile dengan ini di tubuh:

echo|set /p=MyPassword|clip

Di mana "MyPassword" adalah kata sandi Anda yang sebenarnya.

Ketika diklik dua kali, file ini akan menyalin kata sandi Anda ke clipboard Anda untuk login cepat. Lebih baik daripada tidak!


Jika Anda bersedia melakukan kerja keras otomatisasi ringan, gunakan autoit untuk memulai aplikasi VPN dan kemudian salin kata sandi ke bidang kata sandi
Mike Pennington

2
Tolong, apa keuntungan echo|set /p=MyPassword|clipdibandingkan dengan adil echo MyPassword|clip?
bers

3
@bers Jika Anda hanya menggunakannya, echo your_pass| clipitu juga akan menempatkan / menambahkan karakter baris baru di akhir your_pass . Coba saja sendiri dan ketika Anda menempelkannya di beberapa editor Anda akan melihat bahwa kursor ada di baris berikutnya (jika Anda memiliki editor yang dapat menampilkan karakter baris baru, seperti Notepad ++ atau SciTE , gunakan dan Anda akan melihat CRLF pada Windows di akhir your_pass ). Tetapi solusi MikeZ saat ini bekerja dengan sempurna (sebagai cara menyalin kata sandi ke clipboard).
informatik01

1
@ informatik01 Terima kasih atas penjelasannya!
bers

1
(1) Penjelasan bagus @ informatik01 tidak sepenuhnya menjawab kebutuhan akan echo|pada awal baris perintah. Alasannya adalah itu set /padalah perintah untuk membaca nilai (garis) dari input standar. Tanpa echo|, set /p=MyPassword|clipperintah akan diam-diam duduk dan membaca baris dari terminal. (2) Saya benci melihat |tanpa spasi sebelum dan sesudah. Namun waspadalah yang echo | set /p=MyPassword | clipakan menulis MyPassword (dengan spasi tambahan) ke clipboard. Anda dapat mencegah hal itu dengan menambahkan kutipan: echo | set /p="MyPassword" | clip.
Scott
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.