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