¿Cómo guardar la contraseña para Cisco IPSec en el cliente VPN nativo de Mac?

Cada vez que me conecto a Cisco VPN usando el cliente VPN integrado, me pide la contraseña. Me pregunto si hay alguna manera de que podamos guardar automáticamente la contraseña, como usar el llavero.

Respuestas (2)

Esto parece un error muy molesto y de larga data en Mac OS X/macOS.

10.6: Guarde la contraseña de Cisco IPSec en el llavero:

Mac OS X Snow Leopard agregó soporte para conexiones VPN IPSec de Cisco, es decir, IPSec simple con autenticación XAuth y mode_cfg.

Eso lo convierte en dos capas de autenticación: primero, autenticación de máquina con una contraseña (secreto compartido) o un certificado X509. Luego, un par tradicional de nombre de usuario y contraseña para XAuth, que puede ingresar y guardar en los campos Nombre de cuenta y Contraseña, respectivamente, cuando configura la conexión. El problema es que, a pesar de que ingresó su contraseña y aparentemente está guardada correctamente en el llavero, Mac OS X lo sigue molestando para que ingrese manualmente la contraseña cada vez que se conecta. Resulta que este es solo un error con una solución simple.

Abra la aplicación de acceso a llaveros, seleccione el llavero del sistema y busque su entrada de contraseña XAuth guardada en la lista. Su campo Tipo dirá IPSec XAuth Password. Ábralo, luego, en la pestaña Control de acceso, haga clic en el botón Más para agregar otra aplicación. El archivo que debemos seleccionar, /usr/libexec/configd, reside en una carpeta oculta. Para navegar allí, presione Command++ , ingrese /usr/libexec, luego elija configd en el cuadro de diálogo Shift. GGuarde sus cambios y eso es todo: su contraseña guardada ahora debería funcionar.

Otra guía con bonitas imágenes: https://anders.com/guides/native-cisco-vpn-on-mac-os-x/

Aparentemente, se debe aplicar la misma solución manual de agregar configd a las aplicaciones permitidas por llavero para usar las herramientas integradas de ipsec-vpn.

VPN ipsec Solicitud de contraseña guardada:

Síntomas:

En Mac OS X Snow Leopard (10.6.x), se le solicita que ingrese su contraseña de VPN aunque la haya guardado previamente en el llavero. Está utilizando IPSec en el cliente VPN incorporado en Mac OS X Snow Leopard.

Explicación:

Esto se debe a un problema con el elemento Acceso a Llaveros para la conexión VPN IPSec. Una solución de dos minutos lo resolverá por usted.

Solución:

  • Inicie Acceso a Llaveros haciendo clic en Aplicaciones > Utilidades > Acceso a Llaveros
  • En el panel superior izquierdo, en Llaveros, seleccione Sistema
  • En la parte inferior izquierda, en Categoría, seleccione Todos los artículos
  • En el lado derecho de la pantalla, desplácese hasta la parte inferior y localice los dos elementos llamados VPN (IPSec)
  • Haga doble clic en la VPN (IPSec) cuyo tipo es IPSec XAuth Password
  • Haga clic en el botón/pestaña Control de acceso. Las aplicaciones permitidas para usar este elemento del llavero se mostrarán a continuación. Si se le solicita su contraseña, ingrésela.
  • Haga clic en el signo más (+)
  • Cuando aparezca la ventana del Finder, presione ++ Cmden su tecladoShiftG
  • Cuando aparezca el cuadro de diálogo Ir a la carpeta, ingrese /usr/libexec
  • Haga clic en Ir
  • Cuando aparezca la carpeta /usr/libexec, desplácese hasta configd, selecciónela y haga clic en Agregar
  • Haga clic en Guardar cambios
  • Cierra Acceso a Llaveros e intenta conectarte a tu VPN nuevamente
Seguí estos pasos pero aún se me solicita mi contraseña cuando me conecto a la VPN de mi corporación en Mojave.
@MartinBean Mientras tanto, ¿podría probar este github.com/halo/macosvpn ?
Desafortunadamente, no parece funcionar en 10.14.

Encontré una buena solución con AnyConnect CLI y Keychain .

La idea es almacenar mi credencial de AnyConnect en el llavero y usar la interfaz de línea de comando de AnyConnect para acceder a mi credencial guardada y conectarme a VPN. Incluso funciona bien con autorización de dos factores.

Digamos que quiero conectarme foo.bar.comcon cuenta accy contraseña pas.

  1. Guarde accy pasempareje en Llavero (bajo inicio de sesión, no en iCloud) con nombrefookey
  2. Ejecute el siguiente script bash para conectarse (guárdelo en /usr/local/bin)
/opt/cisco/anyconnect/bin/vpn connect foo.bar.com -s << EOM
0    # foo.bar.com doesn't require two factor authorization
acc  # vpn account
$(sudo security find-generic-password -ws fookey)  # look up [pas] from keychain
EOM

Usando este enfoque, no necesito escribir mi contraseña vpn cada vez, y no escribiré mi contraseña en archivos sin encriptación :)


Si no está familiarizado con el script bash:

  • /opt/cisco/anyconnect/bin/vpn connect -sentra en modo no interactivo.
  • << EOM ... EOMse llama here-docs , que usa una cadena para reemplazar un archivo. Es muy útil crear scripts de CLI interactivos, escribiendo cada respuesta como una nueva línea.
  • securityes una buena herramienta para acceder a su llavero desde la línea de comandos.
Traté de seguir su consejo, pero no importa lo que haga, probé un millón de formas diferentes, la VPN no toma en consideración mi nombre de usuario y contraseña, sin importar dónde los coloque. Vi que hay una opción en mi perfil que prohibía las secuencias de comandos, en /opt/cisco/anyconnect/profile/AnyConnectProfile.xml. Entonces me pregunto si es posible encontrar un camino alternativo sin necesidad de involucrar a los administradores de red.
Hola @MaikoID, ¿tal vez intente conectarse manualmente a VPN en su línea de comando primero /opt/cisco/anyconnect/bin/vpn? Ingrese manualmente su nombre de usuario y contraseña sin ningún script.
Funciona si ingreso usuario y contraseña a través de la línea de comando.