我正在尝试使用刀命令引导 Windows winrm。
我已启用 tcp 端口 5985。但我仍然收到以下错误:
错误:网络错误:连接被拒绝 - connect(2) (http://:5985)
我也可以通过提供用户名和密码来远程登录机器
我无法解决。有没有人遇到过这个问题并找到了解决方案?
我正在尝试使用刀命令引导 Windows winrm。
我已启用 tcp 端口 5985。但我仍然收到以下错误:
错误:网络错误:连接被拒绝 - connect(2) (http://:5985)
我也可以通过提供用户名和密码来远程登录机器
我无法解决。有没有人遇到过这个问题并找到了解决方案?
检查您是否可以telnet remote_host 5985
。这应该会打开一个哑会话,您可以在其中输入“退出”。如果没有,请再次查看您是如何在远程主机上启用 winrm 和防火墙的。
我让 winrm 引导程序在没有启用防火墙的 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会话,可以输入“quit”退出。)
可选地验证刀 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 引导程序工作时有用的参考资料:
我遇到了类似的问题。其中一个原因可能是您的刀窗 gem 没有安装在预期的位置。
刀窗解析目标主机名。如果它没有正确安装winrm刀无法解析目标名称。所以要克服这个安装刀窗如下
要使用 RubyGems 安装刀 Windows 插件,请运行以下命令:
$ /opt/chef/embedded/bin/gem install knife-windows
如果安装正确,您应该能够在 /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/ 找到刀窗