Cisco Secure Client memberi dua cara untuk menjawab gesaan log masuk yang sama: seseorang menaip dalam vpnui.exe, atau skrip yang menyalurkan jawapan ke vpncli.exe melalui input standard dengan -s. Cara kedua membolehkan sambungan berjadual tanpa membaca skrin GUI, dan ia juga menukar log masuk menjadi fail yang mesti dilindungi seperti kelayakan. Yang mana anda mahu bergantung pada sama ada ada manusia di mesin itu dan berapa kerap kata laluan berputar. Kedua-dua pilihan tidak mengubah apa yang gateway minta, hanya siapa yang menjawab.

Kedua-dua laluan berakhir di terowong yang sama, jadi perbandingan ini tentang operasi, bukan protokol.

Dua cara menjawab gesaan yang sama

Laluan GUI bersifat interaktif dari segi reka bentuk: klien bertanya, seseorang menjawab, dan sesi hidup selagi orang itu membiarkannya. Ini pilihan yang betul pada komputer riba yang digunakan oleh manusia, kerana gesaan menyesuaikan diri dengan kaedah pengesahan gateway dan tiada siapa perlu menyimpan kata laluan teks biasa pada cakera.

Laluan skrip sesuai untuk kiosk, mesin makmal atau tugas berjadual yang tiada orang untuk menaip. Pertukarannya jelas: anda menerima fail kelayakan pada cakera sebagai ganti sambungan tanpa pengawasan. Jika gateway menawarkan pengesahan sijil atau SAML, pertukaran itu biasanya tidak berbaloi, kerana fail itu hanya wujud untuk menjawab gesaan yang akan dielakkan oleh kaedah yang lebih kukuh.

Jangan campur kedua-duanya pada satu mesin pada masa yang sama. Baris arahan dan klien grafik bersaing untuk keadaan sesi yang sama, dan itulah masalah bahagian seterusnya.

Apa yang fail jawapan mesti mengandungi

Klien bertanya mengikut urutan — gateway, kadangkala pemilihan kumpulan, nama pengguna, kata laluan dan sebarang pengakuan sepanduk. Fail yang menjawab semuanya kelihatan seperti ini, dengan nilai sebenar dimasukkan:

connect vpn.example.com
MyGroup
alice
correct-horse-battery
y

Cara yang boleh dipercayai untuk membina fail itu ialah bersambung sekali secara manual, catat setiap baris yang anda taip dan setiap Enter yang anda tekan, kemudian hasilkan semula urutan itu dengan tepat. Pemasangan yang menyimpan kumpulan dan nama pengguna dalam profil mungkin memerlukan baris kosong di tempat gesaan itu tidak lagi muncul, dan baris terakhir masih memerlukan baris baharunya sendiri. Fail yang kurang satu baris biasanya tergantung pada gesaan terakhir dan bukannya gagal dengan ralat yang jelas, dan itulah sebabnya rangkaian disalahkan. Bandingkan fail dengan transkrip anda dua kali, sekali untuk urutan dan sekali untuk baris kosong.

Simpan fail di luar mana-mana folder yang disegerakkan dan boleh dibaca hanya oleh akaun yang menjalankan tugas. Kata laluan itu teks biasa, jadi fail itu ialah kelayakan: tiada repositori, tiada cakera dikongsi, tiada lampiran dalam tiket. Klien tidak akan memberi amaran tentang mana-mana perkara ini.

Mengapa GUI mesti pergi dahulu

Mulakan skrip dengan menamatkan proses GUI, kemudian jalankan CLI dari direktori pemasangannya sendiri, kerana kedua-dua direktori kerja dan binaan klien penting. Pembalut ilustrasi:

@echo off
taskkill /IM vpnui.exe /F >nul 2>&1
cd /d "%PROGRAMFILES(x86)%\Cisco\Cisco Secure Client"
vpncli.exe -s < C:\secure\login.txt

Kod keluar bukan isyarat kejayaan yang boleh dipercayai di sini. Klien mencetak kemajuannya dan menyimpan terowong dalam proses berasingan, jadi baca keluaran untuk baris keadaan sambungan dan hanya selepas itu mulakan kerja yang bergantung pada VPN.

Jika anda melangkau pembunuhan GUI, skrip mungkin kelihatan berjalan sementara sesi sedia ada kekal dalam keadaan yang ditinggalkan pengguna. Kegagalan itu kelihatan berselang-seli, dan itulah jenis pepijat yang bertahan selepas seminggu meneka.

Sahkan sesi, jangan andaikan

Selepas skrip kembali, periksa sesuatu yang hanya wujud di dalam terowong — hos dalaman, atau akhiran DNS yang hanya dijawab oleh penyelesai korporat. Baca juga baris keadaan sambungan dalam keluaran klien, dan anggap apa-apa lagi sebagai kegagalan dan bukan kejayaan yang perlahan. Menjalankan semula fail semasa sesi sudah aktif boleh meninggalkan klien separuh dikonfigurasikan, jadi sama ada putuskan sambungan dahulu atau langkau log masuk apabila sesi ada.

Kemudian tentukan siapa yang bertanggungjawab atas sambungan semula. Gelung yang mengeping alamat dalaman dan menjalankan semula log masuk boleh mengekalkan kiosk dalam talian berbulan-bulan, dan ia juga boleh mengunci akaun pada kali pertama kata laluan berputar. Hadkan bilangan percubaan, beri amaran apabila melebihi, dan biarkan pasukan identiti memutar fail itu dan bukannya membiarkan kata laluan lapuk mencuba semula sehingga terkunci.

vpnclient.exe lama bukan alat yang sama

Automasi yang sama muncul di bawah nama yang lebih lama, dan kedua-duanya tidak boleh ditukar ganti. Klien Cisco IPsec yang telah bersara menggunakan vpnclient.exe dengan argumen sebaris seperti kata kerja connect, nama profil, pengguna dan kata laluan pada satu baris arahan; manakala vpncli.exe menjangka urutan gesaan pada input standard dengan -s. Oleh itu menyalin skrip forum lama ke mesin hari ini menghasilkan arahan yang berjalan, tidak melakukan apa-apa yang kelihatan, dan gateway yang disalahkan.

Sebelum mengedit mana-mana argumen, periksa klien mana yang dipasang dan mana yang sebenarnya dipanggil oleh skrip. Perbezaan nama cukup kecil untuk terlepas dalam tugas berjadual, dan itulah perkara pertama yang perlu disahkan apabila skrip warisan berhenti berfungsi selepas peningkatan.

Artikel berkaitan