SSH settings for slow links
Plain ssh zydra.sh works. On a slow or distant link, add these lines to ~/.ssh/config. On a test link with 160 ms round trips and 4 Mbit/s, each key showed up about 12 ms sooner, and a second login reached the desktop in 0.9 s instead of 1.7 s.
# OpenSSH before 9.5 skips the option below
Match all
IgnoreUnknown ObscureKeystrokeTiming
Host zydra.sh
# Send each key at once, no 20 ms beat
ObscureKeystrokeTiming no
# Later logins reuse this connection
ControlMaster auto
ControlPath ~/.ssh/cm-%C
ControlPersist 10m
# Drop a dead link after about a minute
ServerAliveInterval 15
ServerAliveCountMax 4ObscureKeystrokeTiming no turns off OpenSSH's keystroke timing obfuscation, so someone watching the network can see your typing rhythm. Leave it out if that matters to you.
That option needs OpenSSH 9.5 or later. Older clients stop at any option they don't know, for every host, so the Match all lines tell them to skip it. ssh uses only the first IgnoreUnknown it reads. If your config already has one, add ObscureKeystrokeTiming to that line instead.
After switching keys or accounts, close the shared connection with ssh -O exit zydra.sh.
Using Kitty
kitten ssh zydra.sh shares one connection between logins from the same Kitty by itself, so you can skip the three Control lines. It still reads ~/.ssh/config.
On a Mac
Zydra's keys use Alt. Out of the box, Mac terminals make Option type characters instead (Option+Shift+Q gives Œ), so set Option to act as Alt:
- Terminal.app: Settings > Profiles > Keyboard > Use Option as Meta key.
- iTerm2: Settings > Profiles > Keys > Left Option key: Esc+.
- Kitty:
macos_option_as_alt leftinkitty.conf. - Ghostty:
macos-option-as-alt = leftin its config.
Until then, Terminal.app and iTerm2 still open the menu with Option+Shift+Q and the overview with Option+Space.
Left out
Compression yesdoes nothing here. The server offers no SSH compression, and Zydra already compresses its pictures.IPQoS lowdelay throughputmakes things worse. OpenSSH 10.5 ignores those old names and drops the priority marking it gives interactive sessions by default.