The operating system should not matter. I've used
authentication between HP-UX, Linux and OpenBSD. The version of SSH,
however, might matter, as there is an interoperability issue with the
key formats used by OpenSSH and commercial SSH.
Also, if you're using OpenSSH 2.x, you've placed the public
the wrong file (you need to use authorized_keys2 in that version).
If all else fails, get root on the server, and run
/path/to/sshd -p 2222 -d
then connect to the server on port 2222. The server will emit
information which might help tell you why your authorized_keys file
isn't being honored. (Client-side debugging, with "ssh -v", tends not
to be useful in this kind of problem.)