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.