You can always have the unreachable machine connect to you using SSH and setup a reverse tunnel that you can then connect to on your local machine.
On the unreachable machine run this.
Code:
ssh -R 1080:unreachable:22 user@reachable
Then on the reachable machine.
Code:
ssh -p 1080 user@localhost
What this does is connect to the ssh session that the unreachable machine created. The only problem is that you have to make sure this tunnel stays open so your going to need to keep some activity going over the tunnel. Or set the timeout setting the sshd.conf file to a really large number.