質問

-auth-user-passスイッチを介してファイルからユーザー名/パスワードをOpenVPNに渡そうとすると、次のエラーが表示されます:

"Sorry, 'Auth' password cannot be read from a file."

少なくとも礼儀正しい。

したがって、回避策は、「標準入力」にプログラムで書き込むことでした。 Auth Username:およびAuth Password:プロンプトが表示されたら(これはC#にあります)。

タイミングのあるものは100%信頼できるものではないので、別の方法でクレデンシャルをOpenVPNに渡す方法を探していましたが、この投稿に出くわしました: OpenVPN投稿

--enable-password-saveオプションを使用してソースを再コンパイルできると書かれています。誰でもこれを行うことができましたか?

最後の質問は、認証ユーザー名/パスワードをクライアント側のopenvpn.exeに渡すにはどうすればよいですか?そして、OpenVPNGUIはどういうわけかこれを行います(彼らがすることをコピーできるかもしれません)?

役に立ちましたか?

解決 3

問題は標準入力ではなかったことがわかりました。

標準への書き込みの途中でプロセスが終了すると、デッドロックが発生する可能性があるロックを使用していました。

この方法でパスワードを送信しても問題はありません。

他のヒント

次のDOSコマンドを使用して、スクリプトを介してVPN接続を開くことができます(ただし、パスワードは暗号化されていないため、これはお勧めしません)

$openvpn.exe config.ovpn < username < password

注意! param auth-user-pass は、GUI&quot; C:\ Program Files \ OpenVPN \ config \ name.ovpn&quot;

で起動すると機能しません

開始ファイルstart_openvpv.cmd(および「管理者として実行」を使用したリンク)のコンテンツを作成:

cd C:\Users\Name\Documents\VPN
"C:\Program Files\OpenVPN\bin\openvpn.exe" --config C:\Users\Name\Documents\VPN\myvpnconfig.ovpn --auth-user-pass "C:\Users\Name\Documents\VPN\pass.txt"

pass.txt:

yourusername
yourpassword

または上のメッセージのように、name.ovpnに行を追加します:

auth-user-pass pass.txt

+ start_openvpv.cmd:

cd C:\Users\Name\Documents\VPN
"C:\Program Files\OpenVPN\bin\openvpn.exe" --config C:\Users\Name\Documents\VPN\myvpnconfig.ovpn

Openvpnに対する自動認証を行うには、config.ovpnファイルを変更する必要があります。

-OpenVPN \ configディレクトリに移動して、.ovpnファイルを編集します

-この行を設定ファイルに追加-&gt; auth-user-pass password.txt

-次にpassword.txtファイルを作成して書き込みます:

yourusername
yourpassword

-これらの手順の後、openvpnは自動的に接続します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top