Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ssh-obi

Developed by Human-life Information Platforms Institute (Menhera.org).

ssh-obi keeps SSH shells alive when the connection drops, when a laptop sleeps, or when the client moves between networks.

It is designed to feel like plain SSH:

  • Use the same destination names, keys, jump hosts, and SSH config you already use.
  • Keep using your local terminal scrollback, search, selection, and copy/paste.
  • Reconnect to the same remote shell after a network break.
  • Keep several independent sessions on the same remote account.
  • Install per user, without a root service or a custom network port.

ssh-obi is intentionally not a terminal window manager. It does not implement panes, tabs, or in-band escape commands. If you want window management, run tmux or another multiplexer inside the remote shell.

Status

The crate version is v0.3.1. It adds server-local targeted detach, so a user can list sessions and detach a selected non-current session. The 0.1 wire-protocol baseline remains compatible.

The documentation on this site is the user-facing source for the published bootstrap scripts, release tarballs, install flow, and supported platforms.

Quick Examples

Connect to a host:

ssh-obi user@example.com

Create a new session even if free sessions already exist:

ssh-obi --new user@example.com

List existing sessions without attaching:

ssh-obi --list user@example.com

List sessions from inside the remote account:

ssh-obi-server --list

Detach the attached client from a listed session on that server:

ssh-obi-server --detach --session aaaaaaaa

Detach the currently attached client for a known session from your local machine:

ssh-obi --detach --session aaaaaaaa user@example.com

Detach an existing client and connect to that session yourself:

ssh-obi --detach-connect user@example.com

With exactly one session it is selected automatically. With several sessions, the client shows a selector. Add --session aaaaaaaa to choose explicitly.

Print the installed crate version:

ssh-obi --obi-version

Or detach from inside the remote shell without killing it:

ssh-obi-server --detach

What To Expect

  • A network disconnect does not kill the remote shell.
  • Remote output continues to be collected while you are detached.
  • Recent output is replayed on reconnect.
  • Some recently displayed output may appear twice after reconnect.
  • New sessions show the remote host MOTD before the shell prompt, unless ~/.hushlogin suppresses it.
  • Keepalive works automatically with v0.3.0 or newer peers; no SSH keepalive options are required.
  • Windows is a client-only platform. Remote servers are Unix-like systems.