#SSH
cmux ssh opretter et arbejdsområde til en ekstern maskine. Browserruder ruter gennem fjernnetværket, træk-og-slip filer via scp, kodningsagenter sender meddelelser til din lokale sidebjælke, og sessioner genopretter forbindelsen ved drops.
#Brug
cmux ssh user@remote
cmux ssh user@remote --name "dev server"
cmux ssh user@remote -p 2222
cmux ssh user@remote -i ~/.ssh/id_ed25519cmux ssh læser din ~/.ssh/config for værtsaliaser, identitetsfiler og proxyindstillinger. Alle flag afspejler deres ssh-ækvivalenter.
#Flag
| Flag | Beskrivelse |
|---|---|
--name | Indstil arbejdsområdets titel |
-p, --port | SSH-port (standard 22) |
-i, --identity | Sti til identitetsfil |
-o, --ssh-option | Bestå vilkårlige SSH-indstillinger (f.eks. -o StrictHostKeyChecking=no) |
--no-focus | Opret arbejdsområdet uden at skifte til det |
#SSH dybe links
Brug cmux SSH-dybe links, når et websted eller et værktøj ønsker at tilbyde en Åbn i cmux-knap. Linket åbner cmux, viser en bekræftelsesprompt og kører derefter den tilsvarende cmux ssh-kommando, efter at brugeren har bekræftet.
cmux://ssh?host=dev.example.com
cmux://ssh?host=dev.example.com&user=alice&port=2222&title=GPU%20box
cmux://ssh?host=workspace123.vm-ssh.freestyle.sh&user=workspace123%2Csession-token
cmux://ssh?host=dev.example.com&host-key-policy=accept-new&no-focus=trueBrug cmux.com reserve-URL til webstedsknapper. Det åbner det oprindelige link og viser download, hvis cmux ikke er installeret.
https://cmux.com/deeplink/ssh?host=workspace123.vm-ssh.freestyle.sh&user=workspace123%2Csession-token&title=FreestylePrompt- og reglerknapper bruger den samme reserveform. Kommaer, koloner og bogstavelige plustegn bevares, når de er URL-kodet:
https://cmux.com/deeplink/prompt?text=Review%20this%20branch
https://cmux.com/deeplink/rules?name=freestyle&text=Prefer%20commas,%20colons:%20and%20small%20PRsBrug SVG-ikonet til dashboardknapper eller PNG-logoet, når der kræves et rasterbillede:
https://cmux.com/cmux-icon.svg
https://cmux.com/logo.pngByg reserve-URL'en med URLSearchParams, så titler, værtsaliasser og brugernavne kodes sikkert:
const params = new URLSearchParams({
host: "workspace123.vm-ssh.freestyle.sh",
user: "workspace123,session-token",
title: "Freestyle",
});
const href = "https://cmux.com/deeplink/ssh?" + params.toString();| Parameter | Betydning |
|---|---|
host | Påkrævet SSH-vært eller ~/.ssh/config-alias. |
user | Valgfri SSH-bruger. cmux kombinerer det med vært som bruger@vært. |
port | Valgfri SSH-port, 1 til 65535. |
title / name | Valgfri titel på arbejdsområdet. Brug kun én af titel eller navn. |
connect-timeout | Valgfri ConnectTimeout-værdi i sekunder, 1 til 600. |
server-alive-interval | Valgfri ServerAliveInterval-værdi i sekunder, 1 til 3600. |
server-alive-count-max | Valgfri ServerAliveCountMax-værdi, 1 til 100. |
host-key-policy | Valgfri StrictHostKeyChecking-politik: accept-ny, spørg, streng eller ja. |
no-focus | Valgfri boolean. true skaber arbejdsområdet uden at skifte til det. |
Brug cmux:// til den stabile app, cmux-nightly:// til Nightly og cmux-dev:// til Debug eller taggede dev-builds.
Eksterne links kan ikke videregive identitetsfiler, rå ssh-indstillinger, kommandoer, ProxyCommand eller videresendelsesregler. Sæt nøgler, ProxyJump, HostName og avancerede muligheder i ~/.ssh/config i stedet for. cmux viser kommandoforhåndsvisningen og kræver, at brugeren har tillid til SSH-målet, før der oprettes forbindelse.
#Browserruder
Browserruder i et eksternt arbejdsområde dirigerer al HTTP- og WebSocket-trafik gennem fjernmaskinens netværk. Skriv localhost:3000, og du ser på udviklerserveren, der kører på fjernboksen. Ingen -L flag, ingen manuel port forwarding. Hvert fjernarbejdsområde får en isoleret cookie-butik, så sessioner er scoped pr-forbindelse.
#Træk og slip
Træk et billede eller en fil til en fjernterminal, og cmux uploader det via scp gennem den eksisterende SSH-forbindelse. cmux registrerer SSH-processen i forgrunden af TTY og dirigerer uploaden gennem ControlMaster-multipleksing.
#Meddelelser
Processer på den eksterne maskine kan køre cmux-kommandoer, der udføres på din lokale instans. Når en kodningsagent ringer til cmux notify på fjernboksen, vises beskeden i din lokale sidebjælke. Den blå ring lyser på arbejdsområdefanen. Cmd+Shift+U springer til det. Meddelelsesspam fra ustabile forbindelser undertrykkes med en nedkøling pr. vært.
#Kodningsmidler over SSH
cmux claude-teams og cmux omo arbejder begge i SSH-sessioner. Go relay-dæmonen på fjernværten håndterer den samme tmux-compat-oversættelse, som den lokale Swift CLI gør. Teamkammerat-agenter afføder, når native cmux-opdelinger på din lokale maskine, mens beregningen kører på fjernboksen.
# Inside an SSH session:
cmux claude-teams
cmux omo#Tilslut igen
Når forbindelsen falder, genopretter cmux forbindelse med eksponentiel backoff (3s, 6s, 12s, op til 60s). Fjernsessionen fortsætter, og cmux tilsluttes igen ved genforbindelse, og størrelsen ændres med semantik med den mindste skærm. Standard keepalive-indstillinger (ServerAliveInterval=20, ServerAliveCountMax=2) injiceres, medmindre din konfiguration allerede har indstillet dem.
#Relædæmon
Ved første tilslutning sonderer cmux fjernværten (uname -s, uname -m) og uploader en versioneret cmuxd-remote binær. Binæren taler JSON-RPC over stdio og håndterer tre ting:
| Feature | Hvordan |
|---|---|
| Browser trafik proxy | SOCKS5 og HTTP CONNECT over dæmonens stdio-kanal |
| CLI relæ | Omvendt TCP-tunnel med HMAC-SHA256-godkendelse, så fjernprocesser kan kalde cmux-kommandoer lokalt |
| Sessionsledelse | Vedvarer sessioner på tværs af genforbindelser, koordinerer PTY-størrelsen på tværs af flere vedhæftede filer |
Den binære dæmon er gemt på ~/.cmux/bin/cmuxd-remote/<version>/<os>-<arch>/cmuxd-remote på fjernværten og verificeret mod et SHA-256-manifest, der er indlejret i appen.