i take it h2 does not allow h1 and h3 to see each other. if this is for security reasons, then id encourage you NOT to pass files between h1 and h3.
if this is just a thing that has nothing to do with security, OSHA, HIPA, etc... then setup ssh between h1 and h3 and you are done. are any of them accessible from the WAN?
i suppose the worst case is to setup a reverse ssh connection using h2 as a go between.
make a connection from h2 into either h1 or h3 but set it to a higher port (1025+), and set up the forwarding.
http://www.howtoforge.com/reverse-ssh-tunneling
something along that line, you might need to do a bit more google searching, but it can be done.
what happens at this point is h2 is nothing but a passthrough. none of the information sent from h1 to h3 will be stored on h2.