ssh works on a pair of keys.
The user's (local) key is only visible from the user's acct, not the root acct.
I think you want (if starting from root)
su - user -c "ssh user@remotehost ..."
theoretically you can skip 'user' part of ssh cmd, as it'll default to current user, if that's what you want.