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
~/.hushloginsuppresses 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.
What To Read Next
- Getting Started for the shortest usable flow.
- Installation for Unix and Windows bootstrap commands.
- Connecting for commands and session selection.
- Sessions for detach, reconnect, replay, and exit behavior.
- Platforms and Downloads for supported systems and published tarball names.
- Changelog for release notes.