私はプロキシの世界で多くの問題を引き起こす会社のファイアウォールの背後にあります。私が見つけた2つの主なアプローチは次のとおりです。
- Cntlmを使用するコストは、コマンドラインからHTTPSと外部SSHの場所に接続できないことです。 (Cntlmを使用すると、PassNTLMv2を使用してユーザー名とパスワードをハッシュし(したがってプレーンテキストを防ぐ)、プロキシに設定してから
http://localhost:3128/
「実際の」プロキシにリダイレクトできます。前述のように、この方法を使用してHTTPSと外部SSH)。 - 私のユーザー名とパスワードをプレーンテキストで
http_proxy
変数に入力するには:私のユーザー名とパスワードをプレーンテキストで表示します。
もちろん、セキュリティが問題にならない場合は、オプション2を選択します。
私はいくつかの解決策を見つけました。.babrunrc
(私はデフォルトでCygwinであるBabunを少し追加して使用します。.bashrc
または同じことができます.zshrc
。)
export http_proxy="http://`echo "Y21hbjpwYXNzd29yZA==" | base64 -d`@20.20.20.20:20/"
だから私のパスワードは少なくともコーディング。誰かが私のコンピュータに来てそれを入力すると私のecho $http_proxy
パスワードを見ることができますが、それを解決する方法はないと思います。
この問題を解決する他の方法はありますか?それとも文字列をエンコードする代わりに暗号化する方法はありますか?別の方法がない場合は、プロンプトを開くときにパスワードを入力してもかまいません。
答え1
base64を使用すると、何も起こらず、単純な変換に過ぎません。暗号化されたデータで保存されたキーで暗号化することは依然として単純な変換であるため、役に立ちません。誰かがあなたのプロフィールにアクセスするのを心配している場合は、プロフィールにないキーでプロフィールを暗号化する必要があります。つまり、ログイン時にパスワードを入力する必要があります。
自分で作成するのではなく、既存の暗号化メカニズムを使用してください。
Linuxでファイル暗号化を使用している場合は、次のコマンドを使用してホームディレクトリを暗号化します。暗号化されたファイルシステムまたはLinuxのディスク暗号化レイヤ(dm-crypt、コマンド)を使用してディスク全体を暗号化するか、cryptsetup
次のコマンドを使用して小さなファイル固有の暗号化ファイルシステムを作成します。環境ファイルシステム。後者の場合、encfs ファイルシステムをマウントし、ここに保存されたスクリプトを実行するスクリプトがあります。
Windowsでは、ファイルを次の場所に配置します。真の秘密/ベラコード。
または、パスワードマネージャを使用してください(もちろん、マスターパスワードも設定してください)。次のコマンドを使用して、コマンドラインからGnomeのパスワードマネージャ(gnome-keyring)を照会できます。secret-tool
便利です。海馬キーリングをナビゲートして変更し、マスターパスワードを設定するための便利なGUIが提供されています。
secret-tool store --label='Corporate web proxy password' purpose http_proxy location work.example.com
export http_proxy="http://cman:$(secret-tool lookup purpose http_proxy location work.example.com)@192.0.2.3/"
これには通常、Linuxでデフォルトで利用可能なD-Busが必要ですが、ほとんどの最新のデスクトップ環境では必要ですが、Cygwinでは手動で有効にする必要があります(方法はわかりません)。
1またはスマートカードに保存されている資料などの秘密の資料を提供します。
答え2
解決策が見つかりました。openssl enc -aes-128-cbc -a -d
ミックスに追加してください。しかし、本文で述べたように受け入れられた回答、このオプションはそれほど安全ではない可能性があります。
まず、ここにユーザー名とパスワードの組み合わせ(またはそれに対応するBase64エンコーディング)を入力してください。
echo "<put it here>" | openssl enc -aes-128-cbc -a
パスワードを2回尋ねるメッセージが表示されます。このパスワードは、http_proxy
設定するたびに入力する必要があるパスワードです。
それから.babunrc
(またはどこに置いても)
export http_proxy="http://`echo "<output from above command>" | openssl enc -aes-128-cbc -a -d`@20.20.20.20:20/"
入力がbase64でエンコードされている場合は、次のものが必要です。
export http_proxy="http://`echo "<output from above command>" | openssl enc -aes-128-cbc -a -d | base64 -d`@20.20.20.20:20/"
<output from above command>
新しい行がある場合は適用され\n
ます。