Yes, each implementation needs it's own stub and skeleton. You would only need one remote interface class though (as long as all the methods were the same). The stub and skeleton are used to talk to the specific implementation of the generic remote interface.
This isn't as bad as it sounds... if you set things up correctly, the stub gets downloaded dynamically by the client, so the client doesn't need a local copy.
Write once, run anywhere, because there's nowhere to hide! - /. A.C.