Estoy tratando de usar Cisco anyconnect 3.1 desde la línea de comandos de Linux para conectarme a un servidor. Puedo conectarme, pero tengo que enviar un parámetro a la vez. Me gustaría conectarme desde un script que se ejecutará en otro servidor. ¿Puedo hacer eso? Algo como
vpn connect server_add group_name user_name passwd
networking
vpn
cisco-vpn-client
Kelly Goedert
fuente
fuente
Respuestas:
Suponiendo que se
/opt/cisco/anyconnect/bin/vpnagentd
está ejecutando como debería ser automáticamente:Para conectar :
Reemplazar
USERNAME
,PASSWORD
yHOST
. Al\ny
final es aceptar el banner de inicio de sesión; esto es específico de mi host.Tenga en cuenta las comillas simples en
'
lugar de las dobles"
: esto se debe a que las comillas dobles le dicen a Bash que interprete ciertos caracteres dentro de las cadenas, como los signos de exclamación, como comandos del historial de Bash. Las comillas dobles harán que este comando falle con un error de "evento no encontrado" si la contraseña contiene un signo de exclamación. Las cadenas entre comillas simples pasan signos de exclamación sin interpretarlas.Para desconectar :
Esto se probó con AnyConnect v3.1.05160.
fuente
Certificate is from an untrusted source
, y todavía se quiere conectar a continuación, pasar uny
parámetro en el método anterior para que el comando de conexión se convierte en:printf "y\nUSERNAME\nPASSWORD\ny" | /opt/cisco/anyconnect/bin/vpn -s connect HOST
. Tenga en cuenta que haga esto solo en el caso de que confíe absolutamente en su conexión; de lo contrario, podría haber un intermediario sentado y husmeando.GROUPNAME\nUSERNAME\nPASSWORDy
. Si desea mantener su contraseña separada del comando (que puede ser un script de shell o un enlace de clave de archivo de puntos), puede hacer esto:cat ~/.anyconnect_credentials | /opt/cisco/anyconnect/bin/vpn -s connect HOST
>> notice: Please respond to banner. MYPASSWORD
Me encontré con la misma dificultad al tratar de usar Cisco AnyConnect desde Mac OS X Terminal. Para que el comando Cisco vpn tome su entrada de la entrada estándar, debe especificar la opción -s, que pone el comando Cisco vpn en modo interactivo. Luego puede proporcionar las respuestas que da en modo interactivo.
Las respuestas que debe dar dependen de cómo el administrador del servidor VPN haya configurado el servidor. Para mí, las indicaciones interactivas de vpn son
Entonces el comando que ejecuto es
(Las comillas alrededor de EOF son para evitar la expansión / sustitución de comandos / parámetros en la siguiente entrada).
La salida al final es salir del modo interactivo Cisco vpn.
fuente
Me gusta simplificar la línea de comandos, por lo que utilizo el enfoque anterior en un script de shell llamado gotowork. Como se indicó anteriormente, debo proporcionar el grupo, mi nombre de usuario y una contraseña compuesta de un PIN privado más un código de acceso RSA SecurID. No tengo que responder lo anterior "¿aceptar?" pregunta. Todo menos el código de acceso RSA está en el script, por lo que la línea de comando es
Tengo que ejecutarlo como root. Suponga que el PIN es 1234. El guión esencial:
Usando anyconnect 3.1.05170. Probado en Debian 6, LinuxMint 17
fuente
0\n
necesario? ¿O es específico de su empresa?0
, seguido de una nueva línea\n
seguida de nombre de usuario, seguido de una nueva línea,\n
etc ...0
entonces significa "usar el primer grupo".Esto es lo que funcionó para mí en OSX El Capitan. Los marcadores de posición están rodeados por [llaves cuadradas].
Para permitir
Deshabilitar
* Sé que esto es similar a la respuesta de Peter S. anterior.
fuente
printf "y\n[GROUP]\n\n[PASSWORD]\ny\n" | /opt/cisco/anyconnect/bin/vpn -s connect HOST