I'm having the exact same problem. You said you created the .ssh and made Apache the owner. Can you tell me where? I know that sounds stupid - but I am!
Also, I wanted to expand this - I wans perl to start a cgi script under the user/pass used in Net::SSH::Perl. Can I do that?