Here is the body of the script I am running...
for i in `cat ${hostfile}`
do
echo "Adding user $username on $i"
ssh -q $i /usr/bin/sudo /usr/sbin/adduser $username --gecos "$username,,," --disabled-password;
echo "$username:$password" | /usr/bin/sudo chpasswd;
/usr/bin/sudo mkdir -p /home/$username/.ssh;
/usr/bin/sudo touch /home/$username/.ssh/authorized_keys;
/usr/bin/sudo chmod 600 /home/$username/.ssh/authorized_keys;
/usr/bin/sudo chmod 700 /home/$username/.ssh;
/usr/bin/sudo chown -R $username:$username /home/$username
#ssh -q $i /usr/bin/sudo /usr/sbin/adduser $username --gecos "$username,,," --disabled-password; sudo echo $username:'$password' | chpasswd; /usr/bin/sudo mkdir /home/$username/.ssh; /usr/bin/sudo touch /home/$username/.ssh/authorized_keys; /usr/bin/sudo chmod 600 /home/$username/.ssh/authorized_keys; /usr/bin/sudo chmod 700 /home/$username/.ssh; /usr/bin/sudo chown -R $username:$username /home/$username; adduser $username $group
done
It executes but does not create the .ssh directory.