Atualmente estou usando o seguinte comando para executar a solicitação de autenticação para obter o certificado do servidor (FINGERPRINT) e OpenConnect
-Cookie:
openconnect --authenticate --user=<username> "VPN host"
Por meio disso, sempre tenho que inserir minha senha em um prompt de usuário que aparece posteriormente.
Existe uma opção disponível para passar a senha OpenConnect
já no comando superior?
Por exemplo, estendendo o comando como...
openconnect --authenticate --user=<username> password=<password> "VPN host"
...?
O desafio é:
O utilizador RuiFRibeiro teve a ideia apenas de ecoar a password dentro do comando. Infelizmente isso não funciona no nosso caso, porque o servidor fornece mais um prompt de usuário antes de chegar ao segundo prompt (= prompt de senha).
Vai acontecer assim:
Primeiro prompt do usuário: Servidor dizendo
- " Escolha se deseja encapsular todo o tráfego ou apenas um específico .
- " Digite
Tunnel all
ouTunnel company
".
Segundo prompt do usuário: o servidor está dizendo
- " Por favor, digite sua senha. "
Como você pode ver, um simples echo
daria a resposta errada para a pergunta errada. :-)
Para um possível expect
-script, a solicitação real (exata) do servidor antes de inserir o texto é a seguinte:
Primeiro prompt:
GROUP: [tunnel MyCompany|tunnel all]:
, answer-insertion deve sertunnel MyCompany
Segundo prompt:
Password:
, answer-insertion deve ser123456789
Normalmente, o software VPN não permite como entrada a senha de um usuário, pois é considerado um risco de segurança.
Uma possível solução é alimentar a senha por meio de um pipe como em:
Se estamos falando de você estar interessado neste método para escrever um script:
openconnect
comando.PS Substitua YourPassword pela sua senha real
Isso funciona para mim: