especifica nome de usuário e senha para conexão VPN

1

Tenho VPN de conexão aberta e gostaria de ter sempre uma conexão, mesmo antes de fazer login com minha conta.

Eu tenho o Ubuntu 16.04.2, network-manager-openconnect-gnome .

Se eu executar a linha de comando nmcli con up id <VPN connection name> , ela funcionará, no entanto, ela solicita nome de usuário em uma janela pop-up, até mesmo lembrar meu nome de usuário em texto visível ; então ele pede password , até ele também lembra (com as balas), então eu não posso usar o nmcli diretamente para realizar o que eu quero.

Claro que eu ainda não sei como fazer isso totalmente sem cabeça (quero dizer, rodar isso antes de eu logar no Ubuntu), mas essa é a próxima pergunta depois que eu posso criar algo para conectar a VPN openconnect sem me perguntar o nome de usuário e senha .

    
por David Cui 12.06.2017 / 13:32

1 resposta

0

Tudo bem, depois de tentar e erro, não encontro uma solução direta, mas há uma solução alternativa a ser usada para alcançar isso.

Basicamente eu escrevo um script de espera para enviar o Nome de Usuário e Senha para o nmcli. Especificamente isso é

  1. sudo apt-get install expect , isso instalará o pacote esperado
  2. crie um arquivo, chame de connectvpn.sh

    #!/usr/bin/expect -f
    
    spawn nmcli -a con up id <VPN ID>
    expect "Username:"
    send "<username>\r"
    expect "Password:"
    send "<password>\r"
    expect "$ "
    
  3. chmod a+x connectvpn.sh

  4. agora execute-o e ele funcionará

É claro que a desvantagem é que o nome de usuário e a senha serão salvos em texto simples no script, mas essa é a melhor solução que posso encontrar.

    
por David Cui 16.06.2017 / 13:19