Share tmux over the wire with gotty
Check out gotty!
For no-write access over http:
$ gotty tmux new -A -s showoff
$ ssh -t -R 9001:localhost:8080 $(whoami):my-box.com sudo socat tcp-listen:80,reuseaddr,fork tcp:localhost:9001
$ tmux new -A -s showoff
For write-access over https with basic auth (after making tls-certs):
$ openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout ~/.gotty.key -out ~/.gotty.crt
$ gotty -w -c user:pass -t tmux new -A -s collab
$ ssh -t -R 9001:localhost:8080 $(whoami):my-box.com sudo socat tcp-listen:443,reuseaddr,fork tcp:localhost:9001
$ tmux new -A -s collab
Note that if you want to open different gotty sessions on the same public machine, you need to have each session use a different forwarding and public port combination.