Bagaimana Anda mendapatkan koneksi Cisco VPN untuk mengingat kata sandinya?

16

Masalah

Saya punya koneksi Cisco IPSEC VPN di pengaturan jaringan saya di mesin Yosemite. Ini berfungsi dengan baik, selain meminta kata sandi pada setiap koneksi. Kata sandi yang disimpan sepenuhnya diabaikan.

Latar Belakang

Jika saya memasukkan kata sandi di bawah pengaturan jaringan dan klik hubungkan, kata sandi yang disimpan lenyap, dan dialog yang meminta kata sandi muncul. Saya telah memverifikasi bahwa kata sandi itu benar (disalin dari dokumen).

Hal-hal yang tidak berhasil

  • Solusi yang disarankan untuk Snow Leopard ini adalah menyimpan kata sandi, membuka Akses Keychain, mencari kunci "Xauth" di gantungan kunci sistem, dan memberikan /usr/libexec/configdakses ke kunci tersebut. Ini tidak berpengaruh.

  • Memperbaiki izin biasa / memeriksa disk

Hal-hal aneh

Jika saya menonton akses gantungan kunci sambil menekan tombol connect, kata sandi yang disimpan lenyap langsung dari gantungan kunci saat dialog muncul.

Pertanyaan Keseluruhan

Bagaimana cara saya mendapatkan kata sandi yang disimpan dengan benar sehingga saya tidak harus merekamnya kembali di setiap koneksi?

Mikey TK
sumber
hmm Saya juga mendapatkan masalah otentikasi aneh pada Yosemite terutama dalam dialog Jaringan. Tidak akan terkejut jika ada bug yang terlibat.
n1000
Apakah Anda yakin itu tidak tergantung pada kebijakan VPN jarak jauh (sekarang mengizinkan penyimpanan kata sandi)?
Matteo Guarnerio
Itu .. akan menjelaskan mengapa itu langsung hilang dari gantungan kunci jika disimpan secara eksplisit. Harus mengobrol dengan admin jaringan!
Mikey TK

Jawaban:

13

Saya kira Anda menggunakan koneksi apa saja untuk terhubung ke server Cisco VPN. AnyConnect juga dapat digunakan dari Terminal. Ini berfungsi pada macOS Sierra dan AnyConnect 3.1.14018. Buat skrip bash dengan perintah berikut:

/opt/cisco/anyconnect/bin/vpn connect your-vpn.server.here -s <.credentials

Dan letakkan detail login di file .credentials dengan tiga baris berikut:

0
your-username
your-password

Jangan lupa untuk memberikan izin yang masuk akal pada file.

Hans
sumber
Pengguna menyatakan "Saya punya koneksi Cisco IPSEC VPN di pengaturan jaringan saya di mesin Yosemite". Pilihan kata-kata ini membuat saya menyimpulkan dengan kepastian yang agak tinggi bahwa mereka menggunakan solusi VPN built-in di dalam System Preferences / Network / +
GhostLyrics
dapatkah Anda mengirimkan file itu entah bagaimana dengan nama pengguna & / atau kata sandi dienkripsi? seperti dengan file kata sandi di linux
forgetstackxpassword
8

Dari membaca pertanyaan Anda, saya mendapat kesan bahwa Anda melakukan semuanya dengan benar dan Cisco VPN Server memiliki opsi untuk memungkinkan penghematan kata sandi yang diatur oleh sisi klien disallow.

Saya tahu pasti bahwa pengaturan seperti itu ada.

GhostLyrics
sumber
6
Masih menjengkelkan bahwa klien OS X memungkinkandisallow pengaturan ini . Sama seperti kompilasi okular tanpa dukungan DRM untuk menyalin kalimat dari jurnal yang ditinjau sejawat, tampaknya ini adalah pengaturan yang pada dasarnya tidak ramah pengguna.
Landak
2

Kedua jawaban di sini saat saya menulis ini memiliki hak untuk itu, tetapi keberadaan vpnbaris perintah berarti bahwa kita dapat menyiasati desain yang tidak ramah pengguna ini expect. Terima kasih pergi ke penjawab sebelumnya, GhostLyrics untuk mengungkapkan keberadaan opsi sisi server yang mematikan penyimpanan kata sandi, dan Hans untuk mengungkapkan vpnklien baris perintah.

Buat file yang terlihat seperti ini:

#!/usr/bin/expect --
set timeout 10
set addr ""  # VPN Host
set user ""  # Username
set pass ""  # Password (ensure that special characters are escaped)
set group "" # Group NUMBER shown in connect prompt


spawn /opt/cisco/anyconnect/bin/vpn connect $addr
expect "\r\nGroup:*"
send -- "$group\r"
expect "\r\nUsername:*"
send -- "$user\r"
expect "Password: "
send -- "$pass\r"
expect eof

Isi setkolom seperti biasa. Jika VPN Anda seperti milik saya, Anda akan diberikan daftar "grup" saat Anda menjalankan vpn connect. Jalankan ini sekali dengan tangan, dan perhatikan nomor mana yang sesuai dengan grup yang ingin Anda hubungkan. Itu tidak akan berubah antara berjalan kecuali admin menambah / menghapus grup. Anda tidak dapat menggunakan nama di sini, program mengharapkan nomor.

Setelah semuanya diisi, chmod +xskrip ini dan jalankan. Saya sekarang dapat terhubung ke VPN saya, hands free!

Mikey TK
sumber
0

Freewheeling off Hans ' jawaban -terima kasih - Saya ingin merampingkan doa sedikit, melewati Terminal dan berakhir dengan ikon AnyConnect di MacOS Status Menu. (Saya di Mojave 10.14.6.)

Pertama, luncurkan Terminal, lalu ubah ke direktori biner aplikasi AnyConnect:

$ cd "/Applications/Cisco/Cisco AnyConnect Secure Mobility Client.app/Contents/MacOS"

Buat salinan biner asli:

$ sudo cp \
"Cisco AnyConnect Secure Mobility Client" \
"Cisco AnyConnect Secure Mobility Client.orig"

Terakhir, timpa file awal dengan skrip shell, ubah VPN hostke nama host atau alamat VPN Anda dan userdan pa$$w0rdke kredensial Anda:

$ sudo cat > "Cisco AnyConnect Secure Mobility Client" <<'SCRIPT'
#!/bin/sh

# The AnyConnect vpn utility takes some options and commands or
# else runs interactively. The help command shows that -s reads
# a script from STDIN and that connect takes a host as argument.
# connect gets the username and password from STDIN. We will 
# supply them from a heredoc with the -s option.

/opt/cisco/anyconnect/bin/vpn -s \
connect "VPN host" <<'CREDENTIALS'
user
pa$$w0rd
CREDENTIALS

exec "$0.orig"  # invoke the original app
SCRIPT

Sekarang, Anda harus dapat menjalankan AnyConnect dari Spotlight atau Finder seperti biasa. Pertama skrip kami akan terhubung dan kemudian menjalankan eksekusi ke biner aplikasi sehingga AnyConnect akan muncul di Menu Status desktop.

Christian Campbell
sumber