← Back to Blog

Why Install Yet Another Remote Shell When SSH Is Already on Your Machine?

Mobile SSH apps have multiplied over the last few years. Some, like Mosh-based clients (including Moshi), promise a better terminal experience over flaky connections. Others layer on proprietary protocols, cloud relays, or custom daemons that need installing on your host. But there is a simpler starting point that often gets overlooked: SSH is already on your machine. Every major Linux distribution ships with OpenSSH. macOS has shipped with it for over a decade. You do not need to install anything on the server side to get started.

This post looks at why that pre-installed foundation matters, how tools like Moshi diverge from it, and why Codeusse was built to embrace it.

The silent advantage of built-in SSH

Open a terminal on any Linux box or Mac. Type ssh. It is there. No package manager, no Homebrew, no compilation required. The protocol that secures remote access for millions of servers, cloud instances, and development machines is already baked into your operating system.

That means:

  • Zero server-side setup. If you have enabled the SSH server (sshd) on your host, you are ready. No extra daemons, no additional ports to open, no new attack surfaces.
  • Universal key management. Your ~/.ssh/authorized_keys, ssh-agent, and hardware security keys all work as expected. Nothing to duplicate or migrate.
  • Proven security. OpenSSH has been battle-tested for over two decades. It is audited, patched, and trusted by every major OS vendor.
  • Ecosystem compatibility. Git, rsync, scp, VS Code Remote, Ansible — the entire DevOps toolchain speaks SSH natively.

Moshi and Mosh: a different path

Moshi is a well-made Mosh client for iOS. Mosh (Mobile Shell) was designed to improve SSH on high-latency or intermittent connections by using UDP and local echo. It works by installing a mosh-server binary on your remote host, which sits alongside (or replaces) your SSH session.

Mosh solves a real problem — typing lag and dropped connections over cellular — but it comes with trade-offs that matter for a development workflow:

What Mosh adds

CapabilityHow Mosh handles it
Roaming and reconnectionUDP-based session that survives IP changes
Local echoTypes appear instantly before the server confirms
Predictive renderingSmart reduction of terminal redraw traffic

What Mosh gives up

LimitationImpact on development
No scrollbackOnce output scrolls off screen, it is gone. No tmux scrollback, no terminal buffer.
No agent forwardingYour SSH agent (ssh -A) does not work through Mosh. No key forwarding for Git operations inside the session.
No port forwarding-L and -R tunnels are unavailable. No tunneling a database or dev server through your connection.
No sshd integrationMosh bypasses the SSH server after authentication. Audit logging, ForceCommand, and server-side sshd_config policies do not apply.
Server-side binary requiredYou must install mosh-server on every host you connect to. Not available by default on any OS.
Extra firewall portsMosh uses a range of UDP ports (60000–61000 by default). Each connection needs a firewall opening.

For SSH administration — restarting a service, checking logs — Mosh can be a nice upgrade. But for a development environment where you run AI coding agents, use tmux for session persistence, forward ports, and audit access? The trade-offs start to hurt.

Why Codeusse stays on standard SSH

Codeusse connects over vanilla SSH. No UDP layer, no custom protocol, no server-side binary you need to install. The same sshd that ships with Ubuntu, Debian, Fedora, Arch, and macOS is the only requirement.

What you get with standard SSH in Codeusse

FeatureMoshi (Mosh)Codeusse
Server-side requirementsInstall mosh-serverEnable SSH (already installed)
ProtocolUDP + SSH bootstrapStandard SSH (TCP)
Session persistenceNo (stateless)Automatic tmux sessions
ScrollbackNoneFull tmux scrollback
AI coding agentsNot supportedFirst-class support
Code editorNoBuilt-in touch editor
File managerNoFull file browser
Agent forwardingNoYes
Port forwardingNoYes (-L / -R)
Firewall ports1 SSH + UDP range1 SSH port
Audit logging via sshdNo (bypasses sshd)Yes
Works on a Pi, VPS, or old laptopNeeds mosh-serverWorks out of the box

tmux is the persistence story

Mosh sells itself on reconnecting after network changes. That is genuinely useful. But Codeusse achieves the same goal — and more — through tmux, running over standard SSH. If your network drops, your tmux session keeps running on the server. When you reconnect, you attach right back where you left off. No UDP tricks, no port ranges, no extra server binary. Just tmux, which is available on practically every server and trivial to install if missing.

The difference is philosophical. Mosh tries to solve the flaky-network problem at the transport layer. Codeusse solves it at the session layer. The transport layer approach requires everyone to install new software. The session layer approach works with what already exists.

Security stays where it belongs

Because Codeusse uses standard SSH, every connection inherits your host’s existing security posture. Your sshd_config rules apply. Your AllowUsers and AllowGroups restrictions apply. Your audit logs capture every authentication. Your fail2ban or crowdsec rules fire as expected.

Mosh authenticates through SSH initially, then pivots to a UDP channel that bypasses sshd entirely. For teams or organisations that rely on server-side access controls, that gap is significant.

When should you use Mosh?

Mosh has its place. If you are SSH-ing into a server over a spotty 4G connection to check on a long-running process, and you do not need scrollback, agent forwarding, or any of the SSH ecosystem features — Mosh is excellent at what it does. Moshi provides a polished iOS client for that workflow.

But if you are:

  • Running AI coding agents like Claude Code, Aider, or OpenCode on a remote machine
  • Maintaining long-lived tmux sessions for development
  • Pushing and pulling from Git repositories via SSH
  • Tunneling databases or dev servers through your connection
  • Writing, reviewing, and editing code from your phone

… then the standard SSH stack with tmux gives you everything that Mosh can, plus the full ecosystem that Mosh cannot.

Getting started

The best part is how little you need to do. On your Linux or macOS host, make sure the SSH server is running:

  • macOS: System SettingsGeneralSharing → enable Remote Login (full guide)
  • Ubuntu/Debian: sudo systemctl enable --now ssh
  • Fedora/RHEL: sudo systemctl enable --now sshd
  • Raspberry Pi: Use the Raspberry Pi Imager to pre-configure SSH (full guide)

That is it. No extra packages. No UDP port ranges. No custom daemons. Just ssh, which is already there.

Install Codeusse from the App Store, add your host, and start coding. Your agents get a persistent tmux session, a touch-first code editor, and a file manager — all over the SSH protocol your machine has understood since the day you installed it.