Estou tentando usar o Cisco anyconnect 3.1 da linha de comando do Linux para conectar-se a um servidor. Eu posso conectar, mas tenho que enviar um parâmetro por vez. Gostaria de me conectar a partir de um script que será executado em outro servidor. Posso fazer isso? Algo como
vpn connect server_add group_name user_name passwd
networking
vpn
cisco-vpn-client
Kelly Goedert
fonte
fonte
Respostas:
Supondo que
/opt/cisco/anyconnect/bin/vpnagentd
esteja sendo executado como deveria ser automaticamente:Para conectar :
Substituir
USERNAME
,PASSWORD
eHOST
. O\ny
final é aceitar o banner de login - isso é específico para o meu host.Observe as aspas simples em
'
vez de aspas duplas"
- isso ocorre porque as aspas duplas dizem ao Bash para interpretar certos caracteres dentro de strings, como pontos de exclamação, como comandos do histórico do Bash. As aspas duplas farão com que esse comando falhe com um erro "evento não encontrado" se a senha contiver um ponto de exclamação. As strings de aspas simples passam pontos de exclamação sem interpretá-las.Para desconectar :
Isto foi testado com AnyConnect v3.1.05160.
fonte
Certificate is from an untrusted source
, e você ainda deseja se conectar, em seguida, passar umy
parâmetro no método acima, para que o comando para conectar-se:printf "y\nUSERNAME\nPASSWORD\ny" | /opt/cisco/anyconnect/bin/vpn -s connect HOST
. Observe que faça isso apenas no caso de confiar absolutamente na sua conexão; caso contrário, pode haver um intermediário sentado e bisbilhotando você.GROUPNAME\nUSERNAME\nPASSWORDy
. Se você deseja manter sua senha separada do comando (que pode ser um script de shell ou uma ligação de chave dotfile), você pode fazer o seguinte:cat ~/.anyconnect_credentials | /opt/cisco/anyconnect/bin/vpn -s connect HOST
>> notice: Please respond to banner. MYPASSWORD
Corri para a mesma dificuldade, tente usar o Cisco AnyConnect do Mac OS X Terminal. Para que o comando Cisco vpn receba sua entrada da entrada padrão, é necessário especificar a opção -s, que coloca o comando Cisco vpn no modo interativo. Em seguida, você pode fornecer as respostas que você fornece no modo interativo.
As respostas que você precisa fornecer dependem de como o administrador do servidor VPN configurou o servidor. Para mim, os prompts interativos da VPN são
Então o comando que eu corro é
(As aspas ao redor do EOF são para impedir a expansão / substituição de comando / parâmetro na seguinte entrada.)
A saída no final é sair do modo interativo Cisco vpn.
fonte
Eu gosto de simplificar a linha de comando, então eu uso a abordagem acima em um script de shell chamado gotowork. Como acima, eu preciso fornecer o grupo, meu nome de usuário e uma chave de acesso composta por um PIN privado mais uma senha de RSA SecurID. Não preciso responder ao "aceitar?" Acima questão. Tudo, exceto o código de acesso RSA, está no script; portanto, a linha de comando é
Eu tenho que executá-lo como root. Suponha que o PIN seja 1234. O essencial do script:
Usando qualquer conexão 3.1.05170. Testado no Debian 6, LinuxMint 17
fonte
0\n
necessário? Ou é específico da sua empresa?0
, seguido por uma nova linha\n
seguida por nome de usuário, seguido por uma nova linha\n
etc ...0
então significa "use o primeiro grupo".Foi isso que funcionou para mim no OSX El Capitan. Os espaços reservados são cercados por [colchetes].
Ativar
Desabilitar
* Eu sei que isso é semelhante à resposta de Peter S. acima.
fonte
printf "y\n[GROUP]\n\n[PASSWORD]\ny\n" | /opt/cisco/anyconnect/bin/vpn -s connect HOST