# SSH Connection Multiplexing

Tempest's **connection multiplexing** reuses one authenticated SSH connection across multiple sessions to the same host. New tabs to the same server open *instantly* — no second TCP handshake, no second SSH key exchange, no second MFA prompt — because Tempest opens additional channels on the existing connection.

This is the same idea as OpenSSH's `ControlMaster auto` / `ControlPath`, but built in and enabled with one toggle.

## Enable it

1. Edit your SSH host → **Transport** section.
2. Toggle **Connection multiplexing** on.
3. Save and reconnect.

The first connection authenticates normally. Every subsequent tab to the same host opens a new SSH `session` channel on the same authenticated connection — usually < 50 ms versus seconds for a fresh handshake.

## Why this is a big deal

* **Instant new tabs** to a frequently-used server.
* **One MFA prompt per host**, not per session — especially valuable for YubiKey / FIDO2 hosts where you'd otherwise tap-tap-tap per tab.
* **Faster SFTP**: opening the SFTP browser doesn't kick off a fresh handshake.
* **Lower load on the server**: one TCP socket and one auth event per active host, regardless of how many tabs you have open.

## When NOT to enable it

* If your server has aggressive `MaxSessions` limits and you frequently fan out many sessions per connection.
* When using [Mosh](/connect-to-servers/mosh-mobile-shell.md) — Mosh closes the SSH channel after bootstrap, so multiplexing has nothing to share.
* For one-off connections where you'll never open a second tab anyway (no benefit, slight memory cost).

## Pro feature

Connection multiplexing requires **Tempest Pro**.

## Compared to OpenSSH `ControlMaster`

| Feature                                   | OpenSSH `ControlMaster`                                                  | Tempest                              |
| ----------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------ |
| Setup                                     | Add `ControlMaster auto` + `ControlPath ~/.ssh/cm/%C` to `~/.ssh/config` | Toggle in host edit form             |
| Persistence across runs                   | Yes (until socket times out)                                             | Per-Tempest-process                  |
| GUI to see active multiplexed connections | None                                                                     | Connection panel shows session count |

## Combine with jump hosts

Multiplexing works through [jump host chains](/connect-to-servers/ssh-jump-host-bastion-chaining.md) — the chain is built once for the first session, and subsequent sessions reuse the entire chain. Particularly useful for "I have to bounce through 3 bastions to reach prod" workflows.

## See also

* [SSH Jump Host & Bastion Chaining](/connect-to-servers/ssh-jump-host-bastion-chaining.md)
* [YubiKey & FIDO2 SSH Authentication](/authentication/yubikey-fido2-ssh-authentication.md) — multiplexing means one tap per host instead of per session


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gotempest.app/connect-to-servers/ssh-connection-multiplexing.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
