Skip to content

Remove mosh (incompatible with Tailscale SSH) - #9

Merged
oz6un merged 1 commit into
mainfrom
chore/remove-mosh
Jul 14, 2026
Merged

Remove mosh (incompatible with Tailscale SSH)#9
oz6un merged 1 commit into
mainfrom
chore/remove-mosh

Conversation

@oz6un

@oz6un oz6un commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Why

mosh can't bootstrap through Tailscale SSH — tailscaled takes over TCP :22 before the kernel's sshd sees it, and mosh needs a real OpenSSH server to launch mosh-server (Tailscale #4919). The repo installed mosh and the README recommended mosh devbox, so it shipped a no-op package and a doc that can't deliver on a tailnet-only box.

What

Removed mosh from the cloud-init packages and the README's daily-use line (tmux already provides the resilience — and survives reboots, which mosh can't). Recorded the why and the OpenSSH-on-a-non-22-port workaround in FOOTGUNS' 'deliberately removed' list, next to fail2ban and ntfy. Live box brought to parity (apt purge mosh).

Verified

Root cause reproduced end-to-end before removal: SSH auth, mosh-server startup+survival, and bidirectional UDP over the tailnet ALL succeed, yet the mosh handshake fails identically on a Mac and a phone — confirming it's the Tailscale-SSH bootstrap, not firewall/locale. make check green.

🤖 Generated with Claude Code

mosh can't bootstrap through Tailscale SSH: tailscaled swallows TCP :22 after
WireGuard decryption and never feeds it to a real OpenSSH server, which
mosh-server needs. Verified end-to-end (auth + mosh-server + bidirectional UDP
all work, yet the handshake fails on both a Mac and a phone; Tailscale #4919).
The repo installed mosh AND the README told users to 'mosh devbox' — a package
that does nothing and a doc that can't deliver. Removed both; tmux already
provides the session survival mosh was there for (and survives reboots too).
FOOTGUNS records why + the OpenSSH-on-a-separate-port workaround for anyone who
wants it. Live box brought to parity.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@oz6un
oz6un merged commit 3ca7453 into main Jul 14, 2026
1 check passed
@oz6un
oz6un deleted the chore/remove-mosh branch July 14, 2026 04:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant