J'essaie d'utiliser Cisco anyconnect 3.1 à partir de la ligne de commande Linux pour me connecter à un serveur. Je peux me connecter, mais je dois soumettre un paramètre à la fois. J'aimerais me connecter à partir d'un script qui s'exécutera sur un autre serveur. Puis-je faire cela? Quelque chose comme
vpn connect server_add group_name user_name passwd
networking
vpn
cisco-vpn-client
Kelly Goedert
la source
la source
Réponses:
En supposant
/opt/cisco/anyconnect/bin/vpnagentd
que fonctionne comme il devrait automatiquement être:Pour vous connecter :
Remplacer
USERNAME
,PASSWORD
etHOST
. La\ny
fin à la fin est d'accepter la bannière de connexion - cela est spécifique à mon hôte.Notez les guillemets simples
'
au lieu de guillemets doubles,"
car les guillemets doubles indiquent à Bash d'interpréter certains caractères contenus dans des chaînes, telles que les points d'exclamation, en tant que commandes de l'historique Bash. Les guillemets doubles feront que cette commande échouera avec une erreur «événement introuvable» si le mot de passe contient un point d'exclamation. Les chaînes entre guillemets simples passent des points d'exclamation sans les interpréter.Pour déconnecter :
Ceci a été testé avec AnyConnect v3.1.05160.
la source
Certificate is from an untrusted source
, et que vous voulez toujours de se connecter ensuite passer uny
paramètre dans la méthode ci - dessus afin que la commande pour se connecter devient:printf "y\nUSERNAME\nPASSWORD\ny" | /opt/cisco/anyconnect/bin/vpn -s connect HOST
. Notez que vous ne le faites que dans le cas où vous avez une confiance absolue en votre connexion. sinon, il pourrait y avoir un intermédiaire assis et fouillant sur vous.J'ai rencontré le même problème que d'essayer d'utiliser Cisco AnyConnect à partir de Mac OS X Terminal. Pour que la commande Cisco vpn tire son entrée d'une entrée standard, vous devez spécifier l'option -s, qui met la commande Cisco vpn en mode interactif. Ensuite, vous pouvez fournir les réponses que vous donnez en mode interactif.
Les réponses que vous devez donner dépendent de la manière dont l'administrateur du serveur VPN a configuré le serveur. Pour moi, les invites interactives VPN sont
Donc, la commande que je lance est
(Les guillemets autour de EOF doivent empêcher l'extension / la substitution de commande / paramètre dans l'entrée suivante.)
La sortie à la fin consiste à quitter le mode interactif Cisco VPN.
la source
J'aime simplifier la ligne de commande et j'utilise donc l'approche ci-dessus dans un script shell appelé gotowork. Comme ci-dessus, je dois fournir le groupe, mon nom d'utilisateur et une clé de sécurité composée d'un code confidentiel privé et d'un code de sécurité RSA SecurID. Je n'ai pas à répondre à la question ci-dessus "accepter?" question. Tout sauf le code RSA est dans le script, la ligne de commande est donc
Je dois l'exécuter en tant que root. Supposons que le code PIN est 1234. L'essentiel du script:
Utiliser anyconnect 3.1.05170. Testé sur Debian 6, LinuxMint 17
la source
0\n
nécessaire? Ou est-ce spécifique à votre entreprise?0
, suivi d'une nouvelle ligne\n
suivie d'un nom d'utilisateur, suivi d'une nouvelle ligne,\n
etc.0
signifie alors "utiliser le premier groupe".C'est ce qui a fonctionné pour moi sur OSX El Capitan. Les espaces réservés sont entourés de [accolades carrées].
Autoriser
Désactiver
* Je sais que cela ressemble à la réponse de Peter S. ci-dessus.
la source
printf "y\n[GROUP]\n\n[PASSWORD]\ny\n" | /opt/cisco/anyconnect/bin/vpn -s connect HOST