4

knife コマンドを使用して Windows の winrm をブートストラップしようとしています。

TCP ポート 5985 を有効にしましたが、それでも次のエラーが表示されます。

エラー: ネットワーク エラー: 接続が拒否されました - connect(2) (http://:5985)

ユーザー名とパスワードを指定することで、マシンにリモートでログインすることもできます

解決できませんでした。誰かがこの問題に遭遇し、解決策を見つけましたか?

4

2 に答える 2

8

できることを確認してくださいtelnet remote_host 5985。これにより、「quit」を入力できるダム セッションが開きます。そうでない場合は、リモート ホストで winrm とファイアウォールを有効にした方法をもう一度確認してください。

次のように、ファイアウォールが有効になっていないWindows VM で winrm ブートストラップが動作するようになりました。

ブートストラップするリモート Windows マシン上の次のすべて...

winrm を有効にします。

winrm quickconfig -q

ファイアウォール サービスを有効にして開始します (これにより、winrm を正常に構成できます)。

sc config mpssvc start= demand
sc start mpssvc

シェフの推奨事項ごとに winrm を構成します。

winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}
winrm set winrm/config @{MaxTimeoutms="1800000"}
winrm set winrm/config/service @{AllowUnencrypted="true"}
winrm set winrm/config/service/auth @{Basic="true"}

ファイアウォール サービスを再度停止します。

sc stop mpssvc

... または、ワークステーションからの winrm 接続を許可するように構成します。

次に、ワークステーションでセットアップを検証します。

リモート ホストがデフォルトの winrm ポートでリッスンしていることを確認する

telnet remote_host 5985

(接続に成功すると、空の telnet セッションが開きます。「quit」と入力して終了できます。)

オプションで、knife winrm がリモート ホストに接続できることを検証します (たとえば、c:\ ディレクトリを一覧表示するため)。

knife winrm -m remote_host -x remote_user -P remote_password 'dir c:\'

ノードのブートストラップ

knife bootstrap windows winrm remote_host -x remote_user -P remote_password

信頼できる情報源や公式の情報源からの回答を求めるので、winrm ブートストラップを機能させる方法を理解する際に役立つ参考文献を以下に示します。

于 2014-01-29T13:42:29.997 に答える
0

同様の問題に直面しました。これの理由の 1 つは、knife-windows gem が予期された場所にインストールされていない可能性があります。

knife-windows はターゲットのホスト名を解決します。適切にインストールされていない場合、winrm ナイフはターゲット名を解決できません。

RubyGems を使用してナイフ Windows プラグインをインストールするには、次のコマンドを実行します。

    $ /opt/chef/embedded/bin/gem install knife-windows

適切にインストールされていれば、 /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ でナイフウィンドウを見つけることができるはずです

于 2014-06-23T05:35:00.510 に答える