GNU/Linux >> LINUX-Kenntnisse >  >> Linux

OpenVPN unter Linux:Übergabe von Benutzername und Passwort in der Befehlszeile

Folgende @Fluffy-Antwort (leider habe ich nicht genug Ruf, um zu kommentieren)

Es gibt einen netten Bash-Trick, der die pass.txt-Datei überflüssig machen kann

Anstelle von

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

wobei pass.txt ist

opvn_user
ovpn_pass

kann man verwenden

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

bitte beachten Sie den \n Verwendung zwischen Benutzername und Passwort


Das Problem bei den vorgeschlagenen Lösungen ist, dass sie alle auf einem Klartext-Passwort basieren.

Ich habe mir das folgende Bash-Skript ausgedacht, um das Problem zu lösen:

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"'")'

Es fragt den Passwort-Manager (kwallet) ab, um das Passwort zu erhalten. Außerdem können Sie die vorhandene Konfiguration in CONFIG_FILE wiederverwenden (Entfernen Sie einfach die --auth-user-pass Eintrag daraus, falls vorhanden)


Die vorherige Antwort hat bei mir nicht funktioniert (immer noch nach Benutzername und Passwort gefragt), was funktioniert hat, war das Einfügen Ihrer Anmeldeinformationen in eine Datei (pass.txt) wie diese

[email protected]
password

und Aufruf von openvpn mit --auth-user-pass pass.txt .

Quelle

Beachten Sie, dass es in einigen OpenVPN-Versionen (z. B. OpenVPN 2.4.11) einen Fehler gibt, bei dem Sie zuerst --config verwenden müssen und dann --auth-user-pass oder Ihre Authentifizierungsdatei wird ohne Warnung ignoriert.

Hier also ein vollständiges Beispiel:

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

Linux
  1. Kopieren und Einfügen in der Linux-Befehlszeile mit xclip

  2. So löschen Sie Dateien und Verzeichnisse in Linux über die Befehlszeile

  3. Titan – Ein Befehlszeilen-Passwort-Manager für Linux

  4. Kompilieren und erstellen Sie mit einer einzigen Befehlszeile Java (Linux)

  5. Benutzername und Passwort in der Befehlszeile mit sshfs

Diff-Befehl unter Linux

Meistern Sie die Linux-Befehlszeile

Grundlagen der Linux-Befehlszeile:sudo

So übergeben Sie das Passwort an den SSH-Befehl in Linux

Die größten Dateien und Ordner in der Linux-Befehlszeile finden

19 Nützliche Tipps und Tricks für die Linux-Befehlszeile