Come si ottiene una connessione VPN Cisco per ricordare la sua password?


16

Il problema

Ho una connessione VPN Cisco IPSEC nelle mie impostazioni di rete su una macchina Yosemite. Funziona bene, oltre a richiedere una password per ogni singola connessione. La password salvata viene completamente ignorata.

sfondo

Se inserisco la password nelle impostazioni di rete e faccio clic su Connetti, la password salvata scompare e viene visualizzata la finestra di dialogo che richiede una password. Ho verificato che la password è corretta (è incollata da un documento).

Cose che non hanno funzionato

  • Una soluzione suggerita per Snow Leopard è stata quella di salvare la password, aprire Accesso portachiavi, individuare la chiave "Xauth" nel portachiavi di sistema e concedere l' /usr/libexec/configdaccesso alla chiave. Questo non ha avuto effetto.

  • Robuste autorizzazioni per la riparazione / controllo del disco

Cose strane

Se guardo l'accesso al portachiavi mentre premo il pulsante di connessione, la password salvata svanisce completamente dal portachiavi proprio quando appare la finestra di dialogo.

Domanda generale

Come faccio a ottenere la password salvata correttamente in modo da non doverla reinserire su ogni connessione?


hmm. Ottengo anche strani problemi di autenticazione su Yosemite, specialmente nel dialogo Network. Non saremmo sorpresi se fosse coinvolto un bug.
n1000,

Sei sicuro che non dipenda dai criteri VPN remoti (ora consente il salvataggio della password)?
Matteo Guarnerio,

Questo ... spiegherebbe perché scompare dal portachiavi se salvato esplicitamente. Dovrà fare una chat con gli amministratori di rete!
Mikey TK,

Risposte:


13

Immagino che tu stia usando anyconnect per connetterti al server VPN Cisco. AnyConnect può essere utilizzato anche dal Terminale. Funziona su macOS Sierra e AnyConnect 3.1.14018. Crea uno script bash con il seguente comando:

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

E inserisci i dettagli di accesso nel file .credentials con le seguenti tre righe:

0
your-username
your-password

Non dimenticare di mettere autorizzazioni ragionevoli sui file.


L'utente afferma "Ho una connessione VPN Cisco IPSEC nelle mie impostazioni di rete su una macchina Yosemite". Questa scelta di parole mi ha portato a concludere con una certezza piuttosto elevata che stanno usando la soluzione VPN integrata all'interno di Preferenze di Sistema / Rete / +
GhostLCRIP

puoi passare quel file in qualche modo con i nomi utente e / o le password crittografate? come con il file delle password su linux
forgotstackxpassword del

8

Dalla lettura della tua domanda ho l'impressione che stai facendo tutto correttamente e Cisco VPN Server ha l'opzione per consentire il salvataggio delle password sul lato client impostato su disallow.

So per certo che esiste una tale impostazione.


6
È ancora fastidioso che il client OS X consenta questa disallowimpostazione. Proprio come la compilazione di okular senza il supporto DRM per copiare una frase da un giornale peer-reviewed, sembra che questa sia una impostazione fondamentalmente ostile all'utente.
Landak,

2

Entrambe le risposte qui mentre scrivo questo hanno il diritto, ma l'esistenza della vpnriga di comando significa che possiamo aggirare questo progetto ostile all'utente con expect. Grazie ai precedenti risponditori, GhostL Cognomi per aver rivelato l'esistenza dell'opzione lato server che disattiva il salvataggio della password e Hans per aver rivelato il vpnclient della riga di comando.

Crea un file simile al seguente:

#!/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

Compila i setcampi normalmente. Se la tua VPN è come la mia, ti viene fornito un elenco di "gruppi" quando esegui il vpn connect. Eseguilo una volta a mano e nota quale numero corrisponde al gruppo con cui vuoi connetterti. Non cambierà tra le esecuzioni a meno che gli amministratori non aggiungano / rimuovano gruppi. Non puoi usare il nome qui, il programma prevede un numero.

Una volta che tutto è compilato, chmod +xquesto script ed eseguirlo. Ora sono in grado di connettermi alla mia VPN, a mani libere!


0

A ruota libera fuori Hans ' risposta -Grazie! - ho voluto semplificare l'invocazione un po', bypassando Terminal e finendo con l'icona AnyConnect nel menu di stato MacOS. (Sono su Mojave 10.14.6.)

Innanzitutto, avvia Terminal, quindi passa alla directory del binario dell'applicazione AnyConnect:

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

Crea una copia del file binario originale:

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

Infine, sovrascrivi il file iniziale con uno script della shell, cambiando VPN hostil nome host o l'indirizzo VPN usere le pa$$w0rdtue credenziali:

$ 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

Ora dovresti essere in grado di eseguire AnyConnect da Spotlight o Finder come al solito. Per prima cosa il nostro script si connetterà e poi eseguirà l'esecuzione al file binario dell'app in modo che AnyConnect appaia nel menu di stato del desktop.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.