GNU/Linux >> Tutoriels Linux >  >> Linux

OpenVPN sous Linux :transmission du nom d'utilisateur et du mot de passe en ligne de commande

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

Linux
  1. 10 astuces et conseils intéressants en ligne de commande Linux à connaître

  2. Titan - Un gestionnaire de mots de passe en ligne de commande pour Linux

  3. Comment transmettre un mot de passe à la commande SCP sous Linux

  4. Pass - Gérez vos mots de passe à partir de la ligne de commande Linux

  5. Nom d'utilisateur et mot de passe en ligne de commande avec sshfs

Commande Diff sous Linux

Maîtrisez la ligne de commande Linux

Principes de base de la ligne de commande Linux :sudo

Comment transmettre un mot de passe à la commande SSH sous Linux

Recherche des fichiers et dossiers les plus volumineux dans la ligne de commande Linux

19 trucs et astuces utiles pour la ligne de commande Linux