Saya mencoba menggunakan Cisco anyconnect 3.1 dari baris perintah Linux untuk terhubung ke server. Saya dapat terhubung, tetapi saya harus mengirimkan satu parameter sekaligus. Saya ingin terhubung dari skrip yang akan berjalan di server lain. Bisakah saya melakukan itu? Sesuatu seperti
vpn connect server_add group_name user_name passwd
networking
vpn
cisco-vpn-client
Kelly Goedert
sumber
sumber
Jawaban:
Dengan asumsi
/opt/cisco/anyconnect/bin/vpnagentd
berjalan seperti seharusnya secara otomatis:Untuk menghubungkan :
Ganti
USERNAME
,PASSWORD
danHOST
. Yang\ny
pada akhirnya adalah untuk menerima spanduk masuk - ini khusus untuk host saya.Perhatikan tanda kutip tunggal dan
'
bukan tanda kutip ganda"
- ini karena tanda kutip ganda meminta Bash untuk menafsirkan karakter tertentu dalam string, seperti tanda seru, seperti yang diperintahkan Bash history. Kutipan ganda akan membuat perintah ini gagal dengan kesalahan "event not found" jika kata sandi berisi tanda seru. String yang dikutip tunggal melewati tanda seru tanpa menafsirkannya.Untuk memutuskan sambungan :
Ini diuji dengan AnyConnect v3.1.05160.
sumber
Certificate is from an untrusted source
, dan Anda masih ingin menghubungkan kemudian melewatiy
parameter dalam metode di atas sehingga perintah untuk menghubungkan menjadi:printf "y\nUSERNAME\nPASSWORD\ny" | /opt/cisco/anyconnect/bin/vpn -s connect HOST
. Perhatikan bahwa lakukan ini hanya jika Anda benar-benar mempercayai koneksi Anda; kalau tidak, mungkin ada tengkulak duduk dan mengintip ke arah Anda.GROUPNAME\nUSERNAME\nPASSWORDy
. Jika Anda ingin memisahkan kata sandi dari perintah (yang mungkin berupa skrip shell atau pengikatan kunci dotfile), Anda dapat melakukan ini:cat ~/.anyconnect_credentials | /opt/cisco/anyconnect/bin/vpn -s connect HOST
>> notice: Please respond to banner. MYPASSWORD
Saya mengalami kesulitan yang sama mencoba menggunakan Cisco AnyConnect dari Mac OS X Terminal. Untuk mendapatkan perintah Cisco vpn untuk mengambil input dari input standar, Anda harus menentukan opsi -s, yang menempatkan perintah Cisco vpn ke mode interaktif. Kemudian Anda dapat memberikan respons yang Anda berikan dalam mode interaktif.
Respons yang perlu Anda berikan tergantung pada bagaimana administrator server VPN telah mengkonfigurasi server. Bagi saya, petunjuk interaktif vpn adalah
Jadi perintah yang saya jalankan adalah
(Kutipan di sekitar EOF adalah untuk mencegah ekspansi / penggantian perintah / parameter pada input berikut.)
The keluar di akhir adalah untuk keluar dari mode interaktif Cisco VPN.
sumber
Saya suka menyederhanakan baris perintah, jadi saya menggunakan pendekatan di atas dalam skrip shell bernama gotowork. Seperti di atas, saya perlu memberikan grup, nama pengguna saya, dan kunci pas yang terdiri dari PIN pribadi plus kode sandi RSA SecurID. Saya tidak harus menjawab "terima?" pertanyaan. Semuanya kecuali kode sandi RSA ada dalam skrip, jadi baris perintahnya
Saya harus menjalankannya sebagai root. Asumsikan PIN adalah 1234. Skrip penting:
Menggunakan anyconnect 3.1.05170. Diuji pada Debian 6, LinuxMint 17
sumber
0\n
perlu? Atau khusus untuk perusahaan Anda?0
, diikuti oleh baris baru\n
diikuti oleh nama pengguna, diikuti oleh baris baru\n
dll ...0
kemudian berarti "gunakan grup pertama".Inilah yang bekerja untuk saya di OSX El Capitan. Placeholder dikelilingi oleh [kurung kurawal].
Untuk mengaktifkan
Untuk Nonaktifkan
* Saya tahu ini mirip dengan jawaban Peter S. di atas.
sumber
printf "y\n[GROUP]\n\n[PASSWORD]\ny\n" | /opt/cisco/anyconnect/bin/vpn -s connect HOST