我在Azure中创建了一个新的Windows 2012映像,并使用以下命令配置了WinRM:
winrm quickconfig -q
winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}
winrm set winrm/config @{MaxTimeoutms="1800000"}
我正试图用刀子引导vm:
knife bootstrap mymachine.cloudapp.net x username -P password "mymachine"
返回的错误是:
错误:网络错误:无法建立连接,因为目标计算机主动拒绝它。 - 连接(2)
检查刀具配置和网络设置
我在Azure中为以下(公共端口)启用了一个端点:
PowerShell 5985
SSH 22
WinRM 2985
任何帮助都将不胜感激。
答案 0 :(得分:1)
我已经解决了这个问题,这是由于我用来引导图像的命令。
knife bootstrap windows winrm grussblank.cloudapp.net -r "role[myrole]" -x username -P "password"
我错过了“windows winrm”,这可能很重要! :)
答案 1 :(得分:0)
出于测试和开发目的,您可以按照docs.opscode.com/plugin_knife_windows.html上的说明操作,并使用PowerShell或winrm配置工具在远程系统上设置以下其他winrm选项 - 这是一个PowerShell设置这些选项的示例:
si WSMan:\localhost\Service\AllowUnencrypted $true
si WSMan:\localhost\Service\Auth\Basic $true
对于生产(非内部开发/测试)使用,不应使用上述解决方案,在https://tickets.opscode.com/browse/KNIFE-298跟踪问题。
生产使用的解决方法是使用Azure的资源扩展功能,该功能支持Chef - 这里有关如何通过门户网站执行此操作的信息:
http://docs.opscode.com/azure_portal.html
这也可以通过cli中的Azure SDK工具进行配置,而不是通过Set-AzureVMExtension使用PowerShell进行门户配置。