Bootstrap fails with error in a bash script - which one?



I am trying to bootstrap a host with knife and get the following error:

[chef@magrathea ~/chef-repo]$ knife bootstrap chefinit@minecraft-test -i ~/.ssh/id_rsa --sudo -E 'minecraft 
test' -r 'role[forge_server]' -N 'minecraft-test'
Doing old-style registration with the validation key at ...
Delete your validation key in order to use your user credentials instead

Connecting to minecraft-test
minecraft-test bash: -c: line 180: unexpected EOF while looking for matching `''
minecraft-test bash: -c: line 182: syntax error: unexpected end of file

The bootstrap user on that host uses a bash as login shell. When I change the login shell to a Bourne Shell, I get the following error:

sh: Syntax error: Unterminated quoted string

Can anyone tell me which script is the problem here? How can I fix this error? Is there a variable missing that I have to set on the bootstrapped host?

Oh yeah … it also complains about the validation key. There is none. Maybe this is part of the error? Is there an attribute I should set?



How did you install knife and what version is it? We had a bug like this a few years ago due to some incorrect newlines in a file in git.


@marbury pretty much upgrading knife and reconfiguring knife.rb would resolve this issue. For configuring knife.rb, you can use the command knife configure and run knife ssl check to make sure your ssl connection working with chef server.