Suite à la réponse de @Fluffy (malheureusement je n'ai pas assez de réputation pour commenter)
Il existe une belle astuce bash qui peut éliminer le besoin de fichier pass.txt
Au lieu de
openvpn ... --auth-user-pass pass.txt
où passe.txt est
opvn_user
ovpn_pass
on peut utiliser
openvpn ... --auth-user-pass <(echo -e "opvn_user\novpn_pass")
veuillez noter le \n
utilisation entre nom d'utilisateur et mot de passe
Le problème avec les solutions suggérées est qu'elles sont toutes basées sur un mot de passe en texte brut.
J'ai créé le script bash suivant pour résoudre le problème :
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"'")'
Il interroge le gestionnaire de mots de passe (kwallet) pour obtenir le mot de passe. Il vous permet également de réutiliser la configuration existante dans CONFIG_FILE
(supprimez simplement le --auth-user-pass
entrée de celui-ci le cas échéant)
La réponse précédente n'a pas fonctionné pour moi (toujours demandé pour le nom d'utilisateur et le mot de passe), ce qui a fonctionné a été de mettre vos informations d'identification dans un fichier (pass.txt), comme celui-ci
[email protected]
password
et appeler openvpn avec --auth-user-pass pass.txt
.
sources
Notez que dans certaines versions d'OpenVPN (par exemple OpenVPN 2.4.11), il y a un bogue où vous devez d'abord utiliser --config
puis --auth-user-pass
ou votre fichier d'authentification sera ignoré sans aucun avertissement.
Alors, voici un exemple complet :
sudo openvpn --config /home/ipv/conf/ipvanish-CA-Toronto-tor-a09.ovpn --auth-user-pass pass.txt