Welel, you could (as you say) use auth keys to connect to the apartment server.
Write a server eg using Perl to recv your request (on the apartment server), do the snmp query and rtn the results to you/local server.
Sounds like you don't need forking or threads, unless you want lots of real-time monitoring.
Also, for worked examples, start here and read down the page : http://perldoc.perl.org/perlipc.html...IO%3a%3aSocket
includes clients and servers using the IO::Socket module that handles all the fiddly bits for you
Edit: actually, that would be a plain text cxn, which for your purposes might be ok. If not, put the relevant cmds in a file on the apartment server and call it using http://search.cpan.org/~ivan/Net-SSH-0.09/SSH.pm
See also http://search.cpan.org/~bnegrao/Net-...SSH/Expect.pod
which is prob what you want.
As always, TMTOWTDI