Authentication in Jenkins

What do you guys use for authentication on Jenkins? We are currently not using anything and I am attempting to use AD, however when I have it enabled, the jenkins CLI does not allow my slaves to register anonymously.. which is understandable, however I cannot find the proper syntax for the create-node command of the CLI.

Without authentication enabled, we can do this..

/bin/cat node.xml | /usr/bin/java -jar jenkins-cli.jar -s http://jenkins_master_dns_name:8080/ create-node

and node.xml looks like this (excuse the variables that will get populated by puppet):

<slave>
<name>${::hostname}</name>
<description>jenkins node ${::hostname}</description>
<remoteFS>/home/ec2-user/jenkins</remoteFS>
<numExecutors>4</numExecutors>
<mode>NORMAL</mode>
<retentionStrategy class='hudson.slaves.RetentionStrategy\$Always'/>
<launcher class='hudson.plugins.sshslaves.SSHLauncher' plugin='ssh-slaves@1.5'>
<host>${::ipaddress}</host>
<port>22</port>
<credentialsId>${::credential_id}</credentialsId>
</launcher>
<label>${::ec2_tag_accountname} main_pool</label>
<nodeProperties/>
<userId>anonymous</userId>
</slave>

I have replaced the userId tag with an AD user name and it still fails. I have also tried a local user account that has working SSH keys and it fails in the same manner.