web-dev-qa-db-fra.com

linux: passage du nom d'utilisateur et du mot de passe en ligne de commande

J'utilise IPVanish pour utiliser un proxy pendant la navigation; comme:

Sudo openvpn --config /home/ipv/conf/ipvanish-CA-Toronto-tor-a09.ovpn

Maintenant, je dois entrer mon nom d'utilisateur, après cela mon mot de passe. Comment puis-je passer ces deux paramètres correctement en une seule commande, de sorte que j'utilise une seule commande et que le nom d'utilisateur/mot de passe soient transmis automatiquement?

15
JOhnlw009a

La réponse précédente n'a pas fonctionné pour moi (toujours demandé 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 ceci

[email protected]
password

et appeler openvpn avec --auth-user-pass pass.txt.

source

7
Fluffy

Suite @ Fluffy réponse (malheureusement je n'ai pas assez de réputation pour commenter)

Il existe une astuce Nice bash qui peut éliminer le besoin de fichier pass.txt

Au cœur de

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

où pass.txt est

opvn_user
ovpn_pass

on peut utiliser

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

Vous pouvez utiliser l'argument --user D'OpenVPN avec --askpass stdin. Ensuite, il vous suffit de diriger le mot de passe vers l'entrée standard d'OpenVPN.

Exemple :

echo $PASS | openvpn ... --user $USER --askpass stdin

Cependant, ce n'est pas vraiment sécurisé, car le mot de passe est passé comme argument à une commande, et en tant que tel peut être accessible à d'autres applications.

Pour éviter cela, vous pouvez simplement utiliser un fichier:

echo $PASS > password.txt
chmod 600 password.txt
openvpn ... --user $USER --askpass password.txt

REMARQUE: remplacez ... Par vos arguments OpenVPN (ici --config /home/ipv/conf/ipvanish-CA-Toronto-tor-a09.ovpn)

1
pistache