OpenConnect: Passando a senha do usuário ao executar a solicitação de autenticação?

2

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 isso, sempre tenho que inserir minha senha em um prompt de usuário que apareça mais tarde.

Existe uma opção disponível para passar a senha para OpenConnect no comando superior?

Por exemplo, estendendo o comando como ...

openconnect --authenticate --user=<username> password=<password> "VPN host"

...?

O desafio é:

O usuário RuiFRibeiro teve a ideia apenas de fazer eco da senha 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).

Isso vai acontecer assim:

  1. Primeiro prompt de usuário: servidor dizendo

    • " Por favor, escolha se deseja encapsular todo o tráfego ou apenas um específico .
    • " Digite Tunnel all ou Tunnel company ".
  2. Segundo prompt de 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 é como segue:

  1. Primeiro prompt: GROUP: [tunnel MyCompany|tunnel all]: , inserção de resposta deve ser tunnel MyCompany

  2. Segundo prompt: Password: , a inserção de resposta deve ser 123456789

por Dave 26.08.2018 / 15:14

1 resposta

2

Normalmente, o software VPN não permite, como entrada, a senha de um usuário, porque é considerado um risco de segurança.

Uma possível solução é alimentar a senha por meio de um pipe como em:

echo -e "Tunnel all\nYourPassword" | openconnect --authenticate --user=<username> "VPN host"

Se estivermos falando de você interessado neste método para escrever um script:

  • certifique-se de compreender as implicações de segurança de ter sua senha em um arquivo e restringir os direitos de leitura desse arquivo apenas ao usuário executando o comando openconnect .

PS Substitua YourPassword pela sua senha real

    
por 26.08.2018 / 15:23