That's exactly what I was looking for, my server runs 24/7 so this should work fine . So their pc would be running the client and my pc would be running the server and I'd put their key in my ~/.ssh/authorized_keys file?
You probably want to create a new user just for this, no use having them logged in as your user.
The idea is that the client would run on their system and connect to your system. Let's call this connection 1. Connection 1 also does port-forwarding, opening a port on your computer (2222) and forwarding it to a port on their computer (22). All traffic is tunneled through the Connection 1.
You then wish to ssh into their box so you open Connection 2, which is simply ssh'ing to your local host, but on port 2222, which gets tunneled over Connection 1 and you end up on the SSH server on their computer.
]]>ssh -R 2222:localhost:22 ip.of.your.machine
And then on your machine, to ssh to theirs:
ssh -p 2222 localhost
I'd set up a passphraseless for that, seeing as you want it started without supervision, and then use authorized_keys restrictions on your end to limit what that key can do. I'd also limit their sshd to listen to only localhost.
]]>Thanks in advance
]]>