Automating Cisco AnyConnect Secure Mobility Client on Mac OS X

Do you hate having to manually enter the password in order to connect to a Cisco VPN? Well, I do. And I have found that instead of relying on the Cisco AnyConnect Security Mobility Client GUI application, one can use the command-line counterpart to automate VPN login.

Provided that you can log into your VPN using the graphical client, you can automate VPN login by using the following shell script:

cat >
/opt/cisco/anyconnect/bin/vpn -s << EOF
# chmod +x

To connect:

# ./
Cisco AnyConnect Secure Mobility Client (version 3.1.05152) .

Copyright (c) 2004 - 2013 Cisco Systems, Inc.  All Rights Reserved.

  >> state: Disconnected
  >> state: Disconnected
  >> notice: Ready to connect.
  >> registered with local VPN subsystem.
  >> contacting host ( for login information...
  >> notice: Contacting

  >> notice: Please respond to banner.

Welcome to VPN.

  >> state: Connecting
  >> notice: Establishing VPN session...
  >> notice: Checking for profile updates...
  >> notice: Checking for product updates...
  >> notice: Checking for customization updates...
  >> notice: Performing any required updates...
  >> state: Connecting
  >> notice: Establishing VPN session...
  >> notice: Establishing VPN - Initiating connection...
  >> notice: Establishing VPN - Examining system...
  >> notice: Establishing VPN - Activating VPN adapter...
  >> notice: Establishing VPN - Configuring system...
  >> notice: Establishing VPN...
  >> state: Connected
VPN> goodbye...
  >> note: VPN Connection is still active.

To disconnect:

# /opt/cisco/anyconnect/bin/vpn/disconnect

4 thoughts on “Automating Cisco AnyConnect Secure Mobility Client on Mac OS X

  1. This isn’t working for me and I’ve been looking everywhere.. The -s option doesn’t seem to exist? When I execute the script it starts but then exits without reason. I can connect the normal way. Any help would be much appreciated.

  2. MAC:~/Desktop $ cat

    printf “USERNAME\nPASSWORD\ny” | /opt/cisco/anyconnect/bin/vpn -s connect HOST
    read -p “Press enter to disconnect”
    /opt/cisco/anyconnect/bin/vpn -s disconnect

    MAC:~/Desktop $

  3. Hello Felipe,
    I managed to connect, and there was feedback text indicating it work. But when I used the disconnect command, I didn’t get any feedback, how can I know what is the vpn connectivity status?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s