GNU/Linux >> Linux の 問題 >  >> Linux

Linux 上の OpenVPN:コマンドラインでユーザー名とパスワードを渡す

@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

Linux
  1. Linuxでコマンドラインからファイルとディレクトリを削除する方法

  2. Linuxでコマンドラインからファイルを分割して結合する方法

  3. LinuxでSCPコマンドにパスワードを渡す方法

  1. xclipを使用してLinuxコマンドラインでコピーして貼り付けます

  2. 知っておく価値のある10の興味深いLinuxコマンドラインの秘訣とヒント

  3. パス–Linuxコマンドラインからパスワードを管理する

  1. Titan –Linux用のコマンドラインパスワードマネージャー

  2. 単一のコマンド ライン Java (Linux) でコンパイルおよびビルド

  3. sshfs を使用したコマンドラインでのユーザー名とパスワード