GNU/Linux >> Tutoriales Linux >  >> Linux

OpenVPN en Linux:pasar nombre de usuario y contraseña en la línea de comandos

Siguiendo la respuesta de @Fluffy (desafortunadamente no tengo suficiente reputación para comentar)

Hay un buen truco bash que puede eliminar la necesidad del archivo pass.txt

En lugar de

openvpn ... --auth-user-pass pass.txt

donde está pass.txt

opvn_user
ovpn_pass

uno puede usar

openvpn ... --auth-user-pass <(echo -e "opvn_user\novpn_pass")

tenga en cuenta el \n uso entre nombre de usuario y contraseña


El problema con las soluciones sugeridas es que todas se basan en una contraseña de texto sin formato.

Se me ocurrió el siguiente script bash para resolver el problema:

VPN_USER="your user name"
VPN_PASSWORD="$(sudo kwallet-query -l secrets -r your_password)"
CONFIG_FILE=/tmp/your_vpn.ovpn

sudo bash -c 'openvpn --config '"$CONFIG_FILE"' --auth-user-pass <(echo -e "'"$VPN_USER"'\n'"$VPN_PASSWORD"'")'

Consulta al administrador de contraseñas (kwallet) para obtener la contraseña. También le permite reutilizar la configuración existente en CONFIG_FILE (simplemente elimine el --auth-user-pass entrada de ella, si la hay)


La respuesta anterior no me funcionó (todavía me pedía el nombre de usuario y la contraseña), lo que sí funcionó fue poner tus credenciales en un archivo (contraseña.txt), como este

[email protected]
password

y llamando a openvpn con --auth-user-pass pass.txt .

fuente

Tenga en cuenta que en algunas versiones de OpenVPN (por ejemplo, OpenVPN 2.4.11) hay un error en el que primero debe usar --config y luego --auth-user-pass o su archivo de autenticación será ignorado sin previo aviso.

Entonces, aquí un ejemplo completo:

sudo openvpn --config /home/ipv/conf/ipvanish-CA-Toronto-tor-a09.ovpn --auth-user-pass pass.txt

Linux
  1. Cómo eliminar archivos y directorios en Linux desde la línea de comandos

  2. Titan:un administrador de contraseñas de línea de comandos para Linux

  3. Cómo pasar la contraseña al comando SCP en Linux

  4. Compile y construya con una sola línea de comando Java (Linux)

  5. Nombre de usuario y contraseña en la línea de comandos con sshfs

Comando Dif en Linux

Domina la línea de comandos de Linux

Conceptos básicos de la línea de comandos de Linux:sudo

Cómo pasar la contraseña al comando SSH en Linux

Encontrar los archivos y carpetas más grandes en la línea de comandos de Linux

19 consejos y trucos útiles para la línea de comandos de Linux