web-dev-qa-db-ja.com

Windows 10のUbuntu WSLで認証付きのHTTPプロキシを構成する方法

Windows 10でUbuntu WSLを使用しています。HTTPプロキシを認証付きで構成する方法を教えてください。

7
Gaurav Agarwal

nTLM認証用のcntlmプロキシ

私はあなたのプロキシが NTLMベースのユーザー認証 を必要とすると想定していますが、これは$HTTP_PROXYで指定された資格情報では機能しません。これに必要なNTLM対応プロキシ: cntlm

Cntlmプロキシをインストールする

プロキシをインストールするdefault方法はSudo apt-get install cntlmを使用することですが、プロキシがないと明らかに失敗します。パッケージ cntlm_0.92.3-1ubuntu1_AMD64.deb を手動でダウンロードして、WSLインスタンスにコピーする必要があります。

パッケージをインストールする

$ Sudo dpkg -i cntlm_0.92.3-1ubuntu1_AMD64.deb

Cntlmプロキシを構成する

cntlmプロキシには、/etc/cntlm.confに適切なNTLMプロキシ設定が必要です:

# /etc/cntlm.con
Domain      Domain
Username    username
Proxy       1.2.3.4:5678
NoProxy     localhost, 127.0.0.*, 10.*, 192.168.*
Listen      3128

これは、cntlmに最低限必要な構成です。次のコマンドでcntlmをテストして確認します。

$ cntlm -M http://www.google.com
cntlm: Starting cntlm version 0.92.3 for LITTLE endian

cntlm: Proxy listening on 127.0.0.1:3128

cntlm: Workstation name used: hostname

Password:

認証が成功した場合、-Hスイッチを使用して認証用のハッシュを生成します。

$ cntlm -H                   
cntlm: Starting cntlm version 0.92.3 for LITTLE endian

cntlm: Proxy listening on 127.0.0.1:3128

cntlm: Workstation name used: somehost

cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)

Password: 
PassLM          123456789ABCDEF123456789ABCDEF12
PassNT          123456789ABCDEF123456789ABCDEF12
PassNTLMv2      123456789ABCDEF123456789ABCDEF12    # Only for user 'username', domain 'Domain'
cntlm: Terminating with 0 active threads

3つのハッシュPassLMPassNTおよびPassNTLMv2cntlm構成ファイル/etc/cntlm.confに追加します。次に、systemdを介してプロキシをアクティブ化します。

$ Sudo systemctl restart cntlm

これで、プロキシはローカルホストでポート3128をリッスンするはずです。

プロキシを構成する

これで、この post で説明されているようにプロキシを構成できますが、以下を使用します。

$ export http_proxy=http://localhost:3128/
$ export https_proxy=http://localhost:3128/
5
Simon Sudler