The first thing I see is that you didn't specifically add a shell, you can ensure that the users shell is correct by running as root:
chsh -s `which bash` marco
The other thing to ensure is that the home directory was created by the useradd script.
ls -al /home/marco/
If it was not created you'll need to create it and change the ownership to the correct user:
mkdir /home/marco
cp -a /etc/skel/.[a-z]* /home/marco
chown -R marco.marco /home/marco
I would also make sure that your password was correctly placed in /etc/shadow as I never trust it from the command line:
passwd marco
And enter the password for marco (BTW, it's a really really bad idea to put a password anywhere but in a password field that is not shown. History files are extremely easy to read, as is serverfault :) Make sure you change marcos password is all I'm saying)
If you still can't login check /var/log/auth, /var/log/messages, /var/log/secure etc for sshd entries, it should give you a pretty good idea as to what is failing.