This commit contains two fixes:
- The Chef provisioner was incorrectly referencing config.ssh.username
instead of machine.ssh_info[:username]. With the new change to default
ssh configuration, if a user had not set config.ssh.username,
provisioning would fail.
- The shell provisioner was not appropriately changing permissions to
the upload path. If a different ssh user attempted to use a shell
provisioner, provisioning would fail. The same case applied to
the Chef provisioner -- while permissions were being reset, they
were not done recursively.