Skip to content

Commit ec66ae4

Browse files
committed
docs: cleanup SSH docs
1 parent 36cc328 commit ec66ae4

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

docs/ssh.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
# SSH Workspaces
22

3-
cmux supports using an SSH remote to run workspaces. When configured, all tool operations will
3+
cmux supports using remote hosts over SSH for workspaces. When configured, all tool operations will
44
execute over SSH and the agent is securely isolated from your local machine.
55

6-
We highly recommend using SSH workspaces for an optimal agentic experience:
6+
Our security architecture considers the remote machine potentially hostile. No keys or credentials are implicitly transferred there—just the git archive and [Project Secrets](./project-secrets.md).
7+
8+
We highly recommend using SSH workspaces for an optimal experience:
79

810
- **Security**: Prompt injection risk is contained to the credentials / files on the remote machine.
11+
- SSH remotes pair nicely with [agentic git identities](./agentic-git-identity.md)
912
- **Performance**: Run many, many agents in parallel while maintaining good battery life and UI performance
1013

1114
![ssh workspaces](./img/new-workspace-ssh.webp)
@@ -15,11 +18,12 @@ The Host can be:
1518
- a hostname (e.g. `my-server.com`)
1619
- a username and hostname (e.g. `[email protected]`)
1720
- an alias from your `~/.ssh/config`, e.g. `my-server`
21+
- anything that passes through `ssh <host>` can be used as a host
1822

19-
In fact, we delegate SSH configuration to the system's `ssh` command, so can set up advanced
20-
configuration for your agentic machine in your local `~/.ssh/config` file.
23+
We delegate SSH configuration to the system's `ssh` command, so you can set up advanced
24+
configuration for your agent host in your local `~/.ssh/config` file.
2125

22-
Here's an example of an alias:
26+
Here's an example of a config entry:
2327

2428
```
2529
Host ovh-1
@@ -33,9 +37,9 @@ Host ovh-1
3337
3438
There are a few practical ways to set up authentication.
3539

36-
### Local defaults
40+
### Local default keys
3741

38-
Ensure your private key is one of these locations:
42+
`ssh` will check these locations by default:
3943

4044
```
4145
~/.ssh/id_rsa
@@ -47,12 +51,14 @@ Ensure your private key is one of these locations:
4751

4852
### SSH Agent
4953

50-
If you have an SSH agent running, you can use it to authenticate.
54+
If you have an SSH agent running, you can add your key:
5155

5256
```
53-
ssh-add ~/.ssh/id_rsa
57+
ssh-add ~/.ssh/my_key_ecdsa
5458
```
5559

60+
and `ssh` will use it to authenticate.
61+
5662
### Config
5763

5864
You can also configure authentication in your `~/.ssh/config` file.
@@ -66,12 +72,10 @@ Host my-server
6672

6773
## Coder Workspaces
6874

69-
If you're using [Coder Workspaces](https://coder.com/docs), you can leverage your existing Workspace
70-
with cmux:
75+
If you're using [Coder Workspaces](https://coder.com/docs), you can use an existing Workspace
76+
as a cmux agent host:
7177

7278
1. Run `coder config-ssh`
7379
2. Use `coder.<workspace-name>` as your SSH host when creating a new cmux workspace
7480

75-
Note that in this approach we're multiplexing agents onto a single Coder Workspace, not creating
76-
a new workspace per agent. This avoids the workspace creation overhead for rapid muxing,
77-
while still isolating the agent from your local machine.
81+
Note that in this approach we're multiplexing cmux workspaces onto a single Coder workspace. This avoids the compute provisioning overhead to enable rapid creation and deletion of workspaces.

0 commit comments

Comments
 (0)