Thanks to visit codestin.com
Credit goes to cmux.com

#SSH

cmux ssh oppretter et arbeidsområde for en ekstern maskin. Nettleserruter ruter gjennom det eksterne nettverket, filer dra-og-slipp via scp, kodingsagenter sender varsler til din lokale sidefelt, og økter kobles til på nytt ved slipp.

#Bruk

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 leser ~/.ssh/config for vertsaliaser, identitetsfiler og proxy-innstillinger. Alle flagg gjenspeiler deres ssh-ekvivalenter.

#Flagg

FlaggBeskrivelse
--nameAngi arbeidsområdetittelen
-p, --portSSH-port (standard 22)
-i, --identitySti til identitetsfil
-o, --ssh-optionSend vilkårlige SSH-alternativer (f.eks. -o StrictHostKeyChecking=no)
--no-focusLag arbeidsområdet uten å bytte til det

Bruk cmux SSH-dypkoblinger når et nettsted eller et verktøy ønsker å tilby en Åpne i cmux-knapp. Koblingen åpner cmux, viser en bekreftelsesmelding, og kjører deretter den tilsvarende cmux ssh-kommandoen etter at brukeren har bekreftet.

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

Bruk cmux.com reserve-URL for nettsideknapper. Den åpner den opprinnelige koblingen og viser nedlastingen hvis cmux ikke er installert.

https://cmux.com/deeplink/ssh?host=workspace123.vm-ssh.freestyle.sh&user=workspace123%2Csession-token&title=Freestyle

Spørre- og reglerknapper bruker samme reserveform. Kommaer, koloner og bokstavelige plusstegn 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

Bruk SVG-ikonet for dashbordknapper, eller PNG-logoen når et rasterbilde kreves:

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

Bygg reservenettadressen med URLSearchParams slik at titler, vertsaliaser og brukernavn kodes trygt:

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();
ParameterMening
hostNødvendig SSH-vert eller ~/.ssh/config-alias.
userValgfri SSH-bruker. cmux kombinerer det med vert som bruker@vert.
portValgfri SSH-port, 1 til 65535.
title / nameValgfri arbeidsområdetittel. Bruk bare én av tittel eller navn.
connect-timeoutValgfri ConnectTimeout-verdi i sekunder, 1 til 600.
server-alive-intervalValgfri ServerAliveInterval-verdi i sekunder, 1 til 3600.
server-alive-count-maxValgfri ServerAliveCountMax-verdi, 1 til 100.
host-key-policyValgfri StrictHostKeyChecking-policy: godta-ny, spør, streng eller ja.
no-focusValgfri boolsk. true skaper arbeidsområdet uten å bytte til det.

Bruk cmux:// for den stabile appen, cmux-nightly:// for Nightly, og cmux-dev:// for feilsøking eller merkede dev-bygg.

Eksterne lenker kan ikke sende identitetsfiler, rå ssh-alternativer, kommandoer, ProxyCommand eller videresendingsregler. Sett nøkler, ProxyJump, HostName og avanserte alternativer i ~/.ssh/config i stedet. cmux viser kommandoforhåndsvisningen og krever at brukeren stoler på SSH-målet før tilkobling.

#Nettleserruter

Nettleserruter i et eksternt arbeidsområde ruter all HTTP- og WebSocket-trafikk gjennom den eksterne maskinens nettverk. Skriv localhost:3000 og du ser på utviklerserveren som kjører på den eksterne boksen. Ingen -L-flagg, ingen manuell portvideresending. Hvert eksternt arbeidsområde får en isolert lagring av informasjonskapsler, slik at øktene er begrenset per tilkobling.

#Dra og slipp

Dra et bilde eller en fil til en ekstern terminal og cmux laster det opp via scp gjennom den eksisterende SSH-tilkoblingen. cmux oppdager SSH-prosessen i forgrunnen av TTY og ruter opplastingen gjennom ControlMaster-multipleksing.

#Varsler

Prosesser på den eksterne maskinen kan kjøre cmux-kommandoer som kjøres på din lokale forekomst. Når en kodeagent ringer cmux-varsling på den eksterne boksen, vises varselet i din lokale sidefelt. Den blå ringen lyser på arbeidsområdefanen. Cmd+Shift+U hopper til den. Varslingsspam fra ustabile tilkoblinger undertrykkes med en nedkjøling per vert.

#Kodemidler over SSH

cmux claude-teams og cmux omo jobber begge i SSH-økter. Go relay daemon på den eksterne verten håndterer den samme tmux-kompat-oversettelsen som den lokale Swift CLI gjør. Lagkamerater gyter når native cmux splitter på din lokale maskin mens beregningen kjører på den eksterne boksen.

# Inside an SSH session:
cmux claude-teams
cmux omo

#Koble til på nytt

Når tilkoblingen faller, kobles cmux til igjen med eksponentiell backoff (3s, 6s, 12s, opptil 60s). Den eksterne økten vedvarer og cmux kobles til på nytt ved tilkobling, endre størrelse med semantikk for minste skjermvinner. Standard keepalive-alternativer (ServerAliveInterval=20, ServerAliveCountMax=2) injiseres med mindre konfigurasjonen din allerede angir dem.

#Stafettdemon

Ved første tilkobling sonderer cmux den eksterne verten (uname -s, uname -m) og laster opp en versjonert cmuxd-remote binær. Binæren snakker JSON-RPC over stdio og håndterer tre ting:

FunksjonHvordan
Nettlesertrafikk proxyingSOCKS5 og HTTP CONNECT over daemonens stdio-kanal
CLI-reléOmvendt TCP-tunnel med HMAC-SHA256-autentisering slik at eksterne prosesser kan kalle cmux-kommandoer lokalt
SesjonsledelseVedvarer økter på tvers av gjentilkoblinger, koordinerer PTY-endring på tvers av flere vedlegg

Daemon-binæren er lagret på ~/.cmux/bin/cmuxd-remote/<version>/<os>-<arch>/cmuxd-remote på den eksterne verten og verifisert mot et SHA-256-manifest innebygd i appen.