ssh-copy-id does not work
9/10 times it's because ~/.ssh/authorized_keys isn't at the right mode.
chmod 600 ~/.ssh/authorized_keys
Check in /etc/ssh/sshd_config to allow authentication with a key. You should have something like this in it, and make sure the lines are not commented:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PS: don't forget to restart sshd after you modify the file (/etc/init.d/sshd restart)
I found that with my system the problem was the user directory (/home/username) was equipped with the wrong permissions set. It was drwxr-x-w-
and it needed to be drwxr-xr-x
(with write permission only for the owner). The solution was to use chmod:
sudo chmod 0755 /home/username