私はvpn接続を行うことができるスクリプトを実行しています。次のようになります。
openvpn --config VPNBook.com-OpenVPN-Euro1/vpnbook-euro1-tcp443.ovpn
すべて問題ありませんが、このスクリプトを実行するたびに、公開されているvpnとパスワードを入力する必要があります。 (心配する必要はありません。無料のVPNを介してバンキングや真剣なことをするつもりはありません。これは学習用です)。
これは、ウェブサイトで公開されているユーザー名とパスワードです。
Username: vpnbook
Password: he2qv5h
起動後、スクリプトからユーザー名とパスワードの入力を求められます。これをコピーして貼り付ける必要があります。
Tue Aug 15 11:54:51 2017 library versions: OpenSSL 1.0.2l 25 May 2017, LZO 2.08
Enter Auth Username: vpnbook
Enter Auth Password:
それを行う方法はありますか?スクリプトが独自に値を入力しますか?
エコーしてみましたが、簡単ではありません。
または、ファイル内のどこかでコマンド自体を編集する必要がありますか?はいの場合、誰かが私を正しい方向に向けることができますか?
選択肢は2つあります。1つはユーザー名とパスワードをクリアテキストで含むファイルを使用すること(非推奨)、もう1つは証明書認証を使用することです。
ファイルでユーザー名とパスワードを使用するには、--auth-user-pass <file>
を使用します。ここで、<file>
は、Jesse_bが1行目にユーザー名、2行目にパスワードを含むファイル(community.openvpn.net/openvpn/wiki/Openvpn23ManPage)を提案したものです。
ただし、これは悪い習慣だと思います(本当に!!!!!!!!)。証明書の認証を行う方が良いです。そうすれば、第三者が証明書を取得したとしても、少なくとも証明書を取得することはできません。特にSudo
があり、ユーザーがsudoers
リストに含まれている場合など、rootパスワードなどを使用せずにユーザーのパスワードを変更します...
以下を発行するにはが必要です。
init config
次に、PKIを初期化します。 Linux/BSD/Unixの場合:
. ./vars
./clean-all
./build-ca
Windowsの場合:
vars
clean-all
build-ca
上記のシーケンスでは、ほとんどのクエリされたパラメーターは、varsまたはvars.batファイルで設定された値にデフォルトで設定されていることに注意してください。明示的に入力する必要がある唯一のパラメータは、共通名です。
次に、サーバーの証明書と秘密キーを生成します。 Linux/BSD/Unixの場合:
./build-key-server server
Windowsの場合:
build-key-server server
クライアント証明書の生成は、前のステップとよく似ています。 Linux/BSD/Unixの場合:
./build-key client1
./build-key client2
./build-key client3
Windowsの場合:
build-key client1
build-key client2
build-key client3
クライアントごとに、プロンプトが表示されたら適切な共通名、つまり「client1」、「client2」、または「client3」を必ず入力してください。各クライアントには常に一意の共通名を使用してください。
これは簡単で、プレーンテキストのユーザー名とパスワードでパスワードを使用するよりもはるかに安全です。信じてください!