@Fluffy の回答に従ってください (残念ながら、コメントするほどの評判はありません)
pass.txt ファイルの必要性をなくすことができる素敵な bash トリックがあります
の代わりに
openvpn ... --auth-user-pass pass.txt
pass.txt の場所
opvn_user
ovpn_pass
使用できます
openvpn ... --auth-user-pass <(echo -e "opvn_user\novpn_pass")
\n
に注意してください ユーザー名とパスワードの使い方
提案された解決策の問題点は、それらがすべてプレーン テキストのパスワードに基づいていることです。
この問題を解決するために、次の bash スクリプトを思いつきました:
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"'")'
パスワード マネージャー (kwallet) にクエリを実行して、パスワードを取得します。 CONFIG_FILE
で既存の構成を再利用することもできます。 ( --auth-user-pass
を削除するだけです そこからのエントリ)
前の回答はうまくいきませんでした (ユーザー名とパスワードを要求されました)。うまくいったのは、次のように資格情報をファイル (pass.txt) に入れることでした
[email protected]
password
--auth-user-pass pass.txt
で openvpn を呼び出す .
ソース
一部の OpenVPN バージョン (OpenVPN 2.4.11 など) では、最初に --config
を使用する必要があるバグがあることに注意してください。 そして --auth-user-pass
そうしないと、認証ファイルは警告なしで無視されます。
したがって、ここに完全な例があります:
sudo openvpn --config /home/ipv/conf/ipvanish-CA-Toronto-tor-a09.ovpn --auth-user-pass pass.txt