We now have to configure the
knife command. This command is the central way of communicating with our server and the nodes that we will be configuring. We need to tell it how to authenticate and then generate a user to access the Chef server.
Luckily, we’ve been laying the groundwork for this step by acquiring the appropriate credential files. We can start the configuration by typing:
knife configure --initial
This will ask you a series of questions. We will go through them one by one:
WARNING: No knife configuration file found Where should I put the config file? [/home/your_user/.chef/knife.rb]
The values in the brackets () are the default values that knife will use if we do not select a value.
We want to place our knife configuration file in the hidden directory we have been using:
In the next question, type in the domain name or IP address you use to access the Chef server. This should begin with
https:// and end with
You will be asked for a name for the new user you will be creating. Choose something descriptive:
Please enter a name for the new user: [root] station1
It will then ask you for the admin name. This you can just press enter on to accept the default value (we didn’t change the admin name).
It will then ask you for the location of the existing administrators key. This should be:
It will ask a similar set of questions about the validator. We haven’t changed the validator’s name either, so we can keep that as
chef-validator. Press enter to accept this value.
It will then ask you for the location of the validation key. It should be something like this:
Next, it will ask for the path to the repository. This is the
chef-repo folder we have been operating in:
Finally, it will ask you to select a password for your new user. Select anything you would like.
This should complete our knife configuration. If we look in our
chef-repo/.chef directory, we should see a knife configuration file and the credentials of our new user:
admin.pem chef-validator.pem knife.rb station1.pem