Upterm: Secure Terminal Sharing
Share a terminal session with upterm.
Host a Session
upterm host --github-user 'USERNAME' --server ssh://upterm.mulatta.io:2323 \
--force-command 'tmux attach -t pair-programming' \
-- tmux new -t pair-programming
Replace USERNAME with the GitHub user you want to share the
session with.
For zellij, use zellij attach pair-programming and zellij -s pair-programming instead.
Important: Run this command from a terminal outside of tmux/zellij. Running upterm from within an existing
session will not work.
Get Connection URL
Once the session is running:
upterm session current
Tmux Tip: If
upterm session current does
not display the session information when run from within tmux, add the
following line to your ~/.tmux.conf to ensure the required
environment variable is preserved:
set-option -ga update-environment " UPTERM_ADMIN_SOCKET"
Output:
=== YXBRHY1BXARIWTSGXJ8L
Command: tmux new -t pair-programming
Force Command: tmux attach -t pair-programming
Host: ssh://upterm.mulatta.io:2323
SSH Session: ssh yXbrhy1bXaRIwTsgxJ8l:Wzo6XToyMjIy@upterm.mulatta.io -p 2323
Share the SSH Session URL with your peer.
Shell Function
Add to ~/.bashrc or ~/.zshrc:
upterm-share() {
if [ -z "$1" ]; then
echo "Usage: upterm-share <github-username>"
return 1
fi
upterm host --github-user "$1" --server ssh://upterm.mulatta.io:2323 \
--force-command 'tmux attach -t pair-programming' \
-- tmux new -t pair-programming
}