我正在尝试使用 Knife 命令引导 Windows winrm。

我已经启用了 tcp 端口 5985。
但我仍然收到以下错误:

错误:网络错误:连接被拒绝 - 连接(2)(http://:5985)

我也可以通过提供用户名和密码远程登录机器

我无法解决。有没有人遇到过这个问题并找到了解决方案?

最佳答案

检查您是否可以 telnet remote_host 5985 。这应该会打开一个哑 session ,您可以在其中输入“退出”。如果没有,再看看你是如何在远程主机上启用 winrm 和防火墙的。

我让 winrm bootstrap 在没有启用防火墙的 Windows 虚拟机上工作,如下所示:

您要引导的远程 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 session 。您可以输入“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 bootstrap 工作时,我发现这些引用资料很有用:
  • http://docs.opscode.com/install_windows.html
  • http://docs.opscode.com/plugin_knife_windows.html
  • http://developer.rackspace.com/blog/step-by-step-walkthrough-to-using-chef-to-bootstrap-windows-nodes-on-the-rackspace-cloud.html
  • 10-08 05:42