#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_ed25519

cmux ssh læser din ~/.ssh/config for værtsaliaser, identitetsfiler og proxyindstillinger. Alle flag afspejler deres ssh-ækvivalenter.

#Flag

FlagBeskrivelse
--nameIndstil arbejdsområdets titel
-p, --portSSH-port (standard 22)
-i, --identitySti til identitetsfil
-o, --ssh-optionBestå vilkårlige SSH-indstillinger (f.eks. -o StrictHostKeyChecking=no)
--no-focusOpret arbejdsområdet uden at skifte til det

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=true

Brug 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=Freestyle

Prompt- 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%20PRs

Brug SVG-ikonet til dashboardknapper eller PNG-logoet, når der kræves et rasterbillede:

https://cmux.com/cmux-icon.svg
https://cmux.com/logo.png

Byg 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();
ParameterBetydning
hostPåkrævet SSH-vært eller ~/.ssh/config-alias.
userValgfri SSH-bruger. cmux kombinerer det med vært som bruger@vært.
portValgfri SSH-port, 1 til 65535.
title / nameValgfri titel på arbejdsområdet. Brug kun én af titel eller navn.
connect-timeoutValgfri ConnectTimeout-værdi i sekunder, 1 til 600.
server-alive-intervalValgfri ServerAliveInterval-værdi i sekunder, 1 til 3600.
server-alive-count-maxValgfri ServerAliveCountMax-værdi, 1 til 100.
host-key-policyValgfri StrictHostKeyChecking-politik: accept-ny, spørg, streng eller ja.
no-focusValgfri 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:

FeatureHvordan
Browser trafik proxySOCKS5 og HTTP CONNECT over dæmonens stdio-kanal
CLI relæOmvendt TCP-tunnel med HMAC-SHA256-godkendelse, så fjernprocesser kan kalde cmux-kommandoer lokalt
SessionsledelseVedvarer 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.