I wanted to pair with a friend of mine, exploring Magit mode in Emacs. There are a couple of projects to make it easy to use tmux(-like) to simplify this.
- pairing lets you share a screen and pair, on a common server where both the users have access to. But I wanted to use my machine, instead of the server.
- tmate gets around the restriction of having a common server where both users have access, but needs a custom install of tmux, and the use of a 3rd party service.
I worked around this, using an ssh reverse tunnels. Here are the steps, for anyone who'd like to reproduce.
- Add your partner(-in-crime)'s ssh key to authorized keys on a server that
has a public IP (
example.com, let's say).
- Add your server's key to authorized keys on your local machine.
- Create a reverse tunnel from your machine to the server.
ssh -fNR 19999:localhost:22 email@example.com
-R 19999essentially forwards port 19999 on
example.comto localhost's 22.
-fNis to say no terminal, send connection to background.
- Your partner first ssh's to example.com and then ssh's to your laptop.
On your partner's machine
On the server, your partner does
ssh your_username@localhost -p 19999
Your partner is on your machine, and can run
rm -rf! But, hopefully they'll only run
tmux attach. Obviously, do this only with people you trust!
- Start a tmux session locally.