Introduction
Introduction Statistics Contact Development Disclaimer Help
<- Back
Terminal presentations via SSH + read-only tmux
===============================================
Have semi-trusted people connect to your machine via SSH. They immediatly
attach to a read-only tmux-session and can do nothing but watch.
I always liked the idea of having the ability to quickly let someone look
at something I do in the terminal in realtime.
This can be useful for many scenarios:
- holding presentations,
- tutoring commandline
- pair programming
- sharing gameplay (e.g. nethack)
I'm well aware that this can be achieved by fully sharing your graphical
screen like in Discord, Slack or Teams. But i find these methods lame,
bulky and a waste of ressources.
Since I can not estimate how secure this setup is, I do not recommend
running this as a public service that allows access to untrusted people.
I consider this setup experimental and unsecure. I am glad for every
critical opinion on this.
Here is the section for your /etc/ssh/sshd_config which forces the user
into the read-only tmux-session:
Match User viewer
AllowAgentForwarding no
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
PermitTunnel no
X11UseLocalhost no
PermitTTY yes
ForceCommand tmux a -r -t viewer; exit
Afterwards you only need to nest the viewer-session into a tmux-session
controlled by the presenter.
For example:
# wild nesting
tmux new -s present
su - viewer
tmux a -t viewer
su - $your_user
Optional:
# deactivate tmux-statusbar for the viewers
tmux set -t viewer status off
# add viewercount for the presenter
tmux set -t present status-right "Viewer: #(who | grep viewer -c)"
I recommend to let people give you their pubkey so you can put it in
/home/viewer/.ssh/authorized_keys
This setup was inspired by the bitreich-con setup.
bitreich-con setup
I used tmux over abduco and stripped away the audio portion.
You are viewing proxied material from kroovy.de. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.