サーバー 127.0.0.1:3128 にはユーザー名とパスワードが必要です。サーバーは次のように言います: 親の cntlm

サーバー 127.0.0.1:3128 にはユーザー名とパスワードが必要です。サーバーは次のように言います: 親の cntlm

新しい Ubuntu 12.04 に cntlm をインストールしました。構成ファイルにetc/cntlm.conf、以下のようにネットワーク構成を挿入しました。

Username: myUsername
Domain : myDomain
Password: myPassword

Proxy : myProxy:8080

Listen: 3128

しかし、ブラウザのネットワーク プロキシとして設定し127.0.0.1:3128、Web サイトにアクセスすると、cntlm のポップアップ メニューが表示され、ユーザー名とパスワードを求められます。

これに対する解決策は何ですか? ネットワーク ドメイン名を取得するにはどうすればいいですか? ドメイン名またはその他の詳細が間違っている可能性があります。

答え1

1) CNTLM をデフォルトのディレクトリ (Windows の場合は C:\Program Files (x86)\cntlm\) にインストールします。

2) 走るコマンドプロンプト

3) タイプ:cd "C:\Program Files (x86)\cntlm\"

4) タイプ:cntlm.exe -H -d ドメイン名 -u ユーザー名

パスワードを尋ねられます。パスワードを入力すると、cntlm はハッシュをいくつか表示します。次のようなものです:

c:\Program Files (x86)\Cntlm>cntlm -H -d your_domain -u your_username
Password:
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassNTLMv2      2A0B7C2457FB7DD8DA4EB737C4FA224F  

これでパスワードがハッシュ化されました。テキスト エディターに保存します。

5) タイプ:コマンド -Mhttp://www.google.com

もう一度パスワードを入力してください。次のようなメッセージが表示されます。

c:\Program Files (x86)\Cntlm>cntlm -M http://www.google.com
Password:
Config profile  1/4... Credentials rejected
Config profile  2/4... OK (HTTP code: 302)
----------------------------[ Profile  1 ]------
Auth            NTLM
PassNT          6E9F120B83EEA0E875CE8E6F9730EC9A
PassLM          4E9C185900C7CF0B6FFCB2044F81920C
------------------------------------------------

これで、プロファイル 2 が成功したことがわかります。プロファイル 2 が OK と表示されているためです。システムによっては異なる場合があります。

秘訣は、

  • AuthがNTの場合は、PassNTのみを使用する必要があります。
  • AuthがLMの場合は、PassLMのみを使用する必要があります。
  • 認証がNTLMの場合は、PassLMとPassNTの両方を使用する必要があります。
  • AuthがNTLMv2の場合は、PassNTLMv2のみを使用する必要があります。

これで必要なものはすべて揃いました。私の構成では、Auth は NTLM を指定しているため、cntlm.ini 構成ファイルで PassNT と PassLM の両方を使用します。

これは、与えられた回答に従った構成ファイルの例です。

#
# Cntlm Authentication Proxy Configuration File
#

Username yourusername
Domain yourdomain

Auth NTLM
PassNT 6E9F120B83EEA0E875CE8E6F9730EC9A
PassLM 4E9C185900C7CF0B6FFCB2044F81920C

Workstation yourhostname.yourdomain

# Most probably proxy.yourdomain:8080
Proxy  yourProxyIP:yourProxyPort

NoProxy  localhost, 127.0.0.*, 10.*, 192.168.*

Listen  3132

Gateway yes

これで、コンピュータの IP アドレスとポート 3132 をプロキシとして使用できるようになります。

注意 1: ユーザー名として domain\username を使用しないでください。注意 2: 存在する場合は、ドメインの後に '.intra' 拡張子を使用することを忘れないでください (yourdomain.intra)

答え2

ファイルでは、フィールドを次のいずれかのフィールドにcntlm.conf置き換えてください。Password

  • PassLM(LMハッシュを使用する場合)
  • PassNT(NTハッシュを使用する場合)
  • PassNTLMv2(NTLMv2ハッシュを使用する場合)

次に、プレーンテキストのパスワードではなく、対応するハッシュを書きます。これは次のように計算できます。cntlm -H -d <domain> -u <user>

答え3

私も同じ問題を抱えていました。

まず、次のコマンドを試してください:

sudo cntlm -M http://www.google.com

結果を見てください。唯一の方法がわかりました認証 = LM、設定ファイルを変更する必要があります (次の行のコメントを解除します)。

Auth         LM
Flags        0x06820000

設定ファイルを変更する方法がわからない場合は、次のようにします。

gksudo gedit /etc/cntlm.conf

CNTLM を必ず再起動してください:

sudo service cntlm restart

関連情報