Skip to content

Commit a284f6d

Browse files
author
Adam Edwards
committed
Merge pull request #118 from opscode/adamedx/0-stable-rel-0-8-2-rc-0
Merge pull request #117 from opscode/adamedx/rel-0-8-2-rc-0
2 parents f01e752 + 630b0f1 commit a284f6d

File tree

4 files changed

+62
-55
lines changed

4 files changed

+62
-55
lines changed

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
## Unreleased changes
44
None.
55

6+
## Latest release: 0.8.2
7+
* [knife-windows #108](https://github.com/opscode/knife-windows/issues/108) Error: Unencrypted communication not supported if remote server does not require encryption
8+
69
## Latest release: 0.8.0
7-
* [knife-windows #98](https://github.com/opscode/knife-windows/issues/96) Get winrm command exit code if it is not expected
10+
* [knife-windows #98](https://github.com/opscode/knife-windows/issues/98) Get winrm command exit code if it is not expected
811
* [knife-windows #96](https://github.com/opscode/knife-windows/issues/96) Fix break from OS patch KB2918614
912
* Remove the 'instance data' method of creating EC2 servers
1013
* Update winrm-s dependency along with em-winrm and winrm dependencies

DOC_CHANGES.md

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,32 +6,18 @@ Example Doc Change:
66
Description of the required change.
77
-->
88

9-
# knife-windows 0.8.0 doc changes
9+
# knife-windows 0.8.2 doc changes
1010

1111
### Negotiate / NTLM authentication support
12-
If `knife` is executed from a Windows system, it is no longer necessary to make
13-
additional configuration of the WinRM listener on the remote node to enable
14-
successful authentication from the workstation. It is sufficient to have a WinRM
15-
listener on the remote node configured according to the operating system's `winrm
16-
quickconfig` command default configuration because `knife-windows` now
17-
supports the Windows negotiate protocol including NTLM authentication, which
18-
matches the authentication requirements for the default WinRM listener configuration.
19-
20-
If `knife` is executed on a non-Windows system, certificate authentication or Kerberos
21-
should be used instead via the `kerberos_service` and related options of the subcommands.
22-
23-
**NOTE**: In order to use NTLM / Negotiate to authenticate as the user
24-
specified by the `--winrm-user` (`-x`) option, you must include the user's
25-
Windows domain when specifying the user name using the format `domain\user`
26-
where the backslash ('`\`') character separates the user from the domain. If
27-
an account local to the node is being used to access, `.` may be used as the domain:
28-
29-
knife bootstrap windows winrm web1.cloudapp.net -r 'server::web' -x 'proddomain\webuser' -P 'super_secret_password'
30-
knife bootstrap windows winrm db1.cloudapp.net -r 'server::db' -x '.\localadmin' -P 'super_secret_password'
31-
32-
For development and testing purposes, unencrypted traffic with Basic authentication can make it easier to test connectivity:
33-
34-
winrm set winrm/config/service @{AllowUnencrypted="true"}
35-
winrm set winrm/config/service/auth @{Basic="true"}
36-
37-
12+
If you are running `knife-windows` subcommands from a Windows workstation, you
13+
should not specify a username argument that includes a domain name (i.e. a
14+
name formatted like `domain\user`) unless the remote host has WinRM's
15+
`AllowUnencrypted` setting set to `$false` (the default setting on Windows if
16+
the `winrm quickconfig` command was used to enable WinRM). If you've modified
17+
the host to set this to `$true` instead of its default value and you run
18+
subcommands from a Windows workstation where the username specified to
19+
`knife-windows` contains a domain, the command will fail with an
20+
authentication error. To avoid this, omit the domain name (this will only work
21+
if the system is not joined to a domain, i.e. you were specifying the local
22+
workstation as the domain), or set `AllowUnencrypted` to `$false` which is a
23+
more secure setting.

RELEASE_NOTES.md

Lines changed: 44 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,57 @@ Example Note:
66
## Example Heading
77
Details about the thing that changed that needs to get included in the Release Notes in markdown.
88
-->
9-
# knife-windows 0.8.0 release notes:
10-
This release of knife-windows enables the Windows negotiate protocol to be
11-
used with the `winrm` and `bootstrap windows winrm` subcommands and also
12-
contains bug fixes and dependency updates.
9+
# knife-windows 0.8.2.rc.0 release notes:
10+
This release of knife-windows addresses a regression in knife-windows 0.8.0
11+
from previous releases where `knife winrm` and `knife bootstrap windows`
12+
commands fail due to inability to authenticate:
13+
[knife-windows #108](https://github.com/opscode/knife-windows/issues/108).
1314

14-
A thank you goes to contributor **Josh Mahowald** for contributing a fix to return nonzero exit codes.
15+
You can install the fix for this issue by upgrading to this new version using
16+
the `gem` command:
1517

16-
Issues with `knife-windows` should be reported in the ticketing system at
17-
https://github.com/opscode/knife-windows/issues. Learn more about how you can
18-
contribute features and bug fixes to `knife-windows` in the [Chef Contributions document](http://docs.opscode.com/community_contributions.html).
18+
gem install knife-windows --pre
1919

20-
## Features added in knife-windows 0.8.0
20+
A thank you goes to **Richard Lavey** for reporting [knife-windows #108](https://github.com/opscode/knife-windows/issues/108).
2121

22-
### NTLM / Negotiate authentication for `winrm` and `bootstrap`
23-
If `knife` is being used on a Windows workstation, it is no longer necessary
24-
to use Kerberos or to use certificate authentication to authenticate securely
25-
with a remote node in bootstrap or command execution scenarios. The `knife winrm` and `knife
26-
windows bootstrap` commands now support the use of NTLM to authenticate to remote
27-
nodes with the default WinRM listener configuration set by the operating
28-
system's `winrm quickconfig` command.
22+
## Impact of [knife-windows #108](https://github.com/opscode/knife-windows/issues/108)
2923

30-
When specifying the user name on the command-line or configuration, the format `domain\username` must be used for
31-
the negotiate protocol to be invoked. If the account is local to the node,
32-
'`.`' may be used for the domain. See the README.md for further detail.
24+
[knife-windows #108](https://github.com/opscode/knife-windows/issues/108) will affect a given user if all of the following are true:
25+
26+
* You are running `knife-windows` subcommands on a Windows workstation
27+
* The remote node you're interacting with via `knife-windows` has a WinRM
28+
configuration with the `WSMan:\localhost\Service\AllowUnencrypted` (in
29+
PowerShell's WinRM settings drive provider)
30+
31+
In this situation, you will receive an authentication error message from
32+
the `knife winrm` or `knife bootstrap windows` command such as
33+
`Error: Unencrypted communication not supported`. To resolve this error,
34+
simply install this version of the gem as described earlier.
35+
36+
If you are running the `knife` commands from a non-Windows operating system,
37+
[knife-windows #108](https://github.com/opscode/knife-windows/issues/108) does
38+
not affect you, so you don't need to upgrade just for this issue.
39+
40+
## Reporting issues and contributing
41+
42+
`knife-windows` issues like the one addressed in this release should be
43+
reported in the ticketing system at https://github.com/opscode/knife-windows/issues. You can learn more about how to contribute features and bug fixes to `knife-windows` in the [Chef Contributions document](http://docs.opscode.com/community_contributions.html).
44+
45+
## Features added in knife-windows 0.8.2
46+
None.
47+
48+
## Issues fixed in knife-windows 0.8.2
49+
[knife-windows #108](https://github.com/opscode/knife-windows/issues/108) Error: Unencrypted communication not supported if remote server does not require encryption
50+
51+
The fix in this release will cause a behavior change from the 0.8.0 release:
52+
53+
* As described in the [documentation changes](https://github.com/opscode/knife-windows/blob/0.8.0/DOC_CHANGES.md) for the 0.8.0 release of the `knife-windows`, the negotiate authentication
54+
protocol will only be used in this 0.8.2 release if a domain is specified (you can specify '.' as
55+
the domain if you want to use the local workstation as the domain). Due to a
56+
defect in the 0.8.0 release, the negotiate protocol was being used even when
57+
the domain was not specified.
3358

3459
## knife-windows on RubyGems and Github
3560
https://rubygems.org/gems/knife-windows
3661
https://github.com/opscode/knife-windows
3762

38-
## Issues fixed in knife-windows 0.8.0
39-
* [knife-windows #98](https://github.com/opscode/knife-windows/issues/96) Get winrm command exit code if it is not expected
40-
* [knife-windows #96](https://github.com/opscode/knife-windows/issues/96) Fix break from OS patch KB2918614
41-
* Update winrm-s dependency along with em-winrm and winrm dependencies
42-
* Return failure codes from knife winrm even when `returns` is not set
43-
* Support Windows negotiate authentication protocol when running knife on Windows
44-

lib/knife-windows/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module Knife
22
module Windows
3-
VERSION = "0.8.0"
3+
VERSION = "0.8.2.rc.0"
44
MAJOR, MINOR, TINY = VERSION.split('.')
55
end
66
end

0 commit comments

Comments
 (0)