#SSH

cmux ssh kreira radni prostor za udaljenu mašinu. Okna pretraživača usmjeravaju se kroz udaljenu mrežu, datoteke se prevlače i ispuštaju putem scp-a, agenti za kodiranje šalju obavijesti na vašu lokalnu bočnu traku, a sesije se ponovo povezuju nakon pada.

#Upotreba

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 čita vašu ~/.ssh/config za pseudonime hosta, datoteke identiteta i postavke proxyja. Sve zastavice odražavaju njihove ssh ekvivalente.

#Zastave

ZastavaOpis
--namePostavite naslov radnog prostora
-p, --portSSH port (zadano 22)
-i, --identityPut do datoteke identiteta
-o, --ssh-optionProslijedi proizvoljne SSH opcije (npr. -o StrictHostKeyChecking=no)
--no-focusKreirajte radni prostor bez prelaska na njega

Koristite cmux SSH dubinske veze kada web lokacija ili alat želi ponuditi dugme Otvori u cmux. Veza otvara cmux, prikazuje prompt za potvrdu, a zatim pokreće ekvivalentnu cmux ssh naredbu nakon što korisnik potvrdi.

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

Koristite zamjenski URL cmux.com za dugmad web stranice. Otvara izvornu vezu i prikazuje preuzimanje ako cmux nije instaliran.

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

Dugmad upita i pravila koriste isti rezervni oblik. Zarezi, dvotočke i literalni znaci plus su sačuvani kada su URL kodirani:

https://cmux.com/deeplink/prompt?text=Review%20this%20branch
https://cmux.com/deeplink/rules?name=freestyle&text=Prefer%20commas,%20colons:%20and%20small%20PRs

Koristite SVG ikonu za dugmad na kontrolnoj tabli ili PNG logotip kada je potrebna rasterska slika:

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

Napravite rezervni URL sa URLSearchParams tako da su naslovi, aliasi hosta i korisnička imena sigurno kodirani:

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();
ParametarZnačenje
hostPotreban SSH host ili ~/.ssh/config alias.
userOpcioni SSH korisnik. cmux ga kombinuje sa hostom kao korisnik@host.
portOpcioni SSH port, 1 do 65535.
title / nameOpcioni naziv radnog prostora. Koristite samo jedan naslov ili ime.
connect-timeoutOpcionalna vrijednost ConnectTimeouta u sekundama, od 1 do 600.
server-alive-intervalOpcionalna vrijednost ServerAliveInterval u sekundama, od 1 do 3600.
server-alive-count-maxOpcionalna vrijednost ServerAliveCountMax, od 1 do 100.
host-key-policyOpciono pravilo StrictHostKeyChecking: prihvati-novo, pitaj, strogo ili da.
no-focusOpcijski boolean. true kreira radni prostor bez prelaska na njega.

Koristite cmux:// za stabilnu aplikaciju, cmux-nightly:// za Nightly i cmux-dev:// za Debug ili označene dev buildove.

Eksterne veze ne mogu proslijediti datoteke identiteta, sirove ssh opcije, komande, ProxyCommand ili pravila prosljeđivanja. Umjesto toga stavite ključeve, ProxyJump, HostName i napredne opcije u ~/.ssh/config. cmux prikazuje pregled naredbe i zahtijeva od korisnika da vjeruje SSH cilju prije povezivanja.

#Okna pretraživača

Okna pretraživača u udaljenom radnom prostoru usmjeravaju sav HTTP i WebSocket promet kroz mrežu udaljene mašine. Upišite localhost:3000 i gledate dev server koji radi na udaljenom kutiju. Nema -L zastavica, nema ručnog prosljeđivanja portova. Svaki udaljeni radni prostor dobiva izolirano spremište kolačića tako da su sesije raspoređene po konekciji.

#Prevucite i ispustite

Prevucite sliku ili datoteku na udaljeni terminal i cmux je otprema putem scp-a preko postojeće SSH veze. cmux otkriva SSH proces u prvom planu putem TTY-a i usmjerava upload kroz ControlMaster multipleksiranje.

#Obavještenja

Procesi na udaljenom stroju mogu pokrenuti cmux komande koje se izvršavaju na vašoj lokalnoj instanci. Kada agent za kodiranje pozove cmux notify na udaljenom kutiju, obavijest se pojavljuje na vašoj lokalnoj bočnoj traci. Plavi prsten svijetli na kartici radnog prostora. Cmd+Shift+U skače na njega. Neželjena pošta obavještenja od neispravnih veza suzbija se hlađenjem po hostu.

#Agenti za kodiranje preko SSH-a

cmux claude-teams i cmux omo oba rade unutar SSH sesija. Go relejni demon na udaljenom hostu rukuje istim tmux-compat prijevodom kao lokalni Swift CLI. Timski agenti se pokreću dok se izvorni cmux dijeli na vašoj lokalnoj mašini dok se računanje izvodi na udaljenoj kutiji.

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

#Ponovo se povežite

Kada veza padne, cmux se ponovo povezuje sa eksponencijalnim povlačenjem (3s, 6s, 12s, do 60s). Udaljena sesija se nastavlja i cmux se ponovo povezuje pri ponovnom povezivanju, mijenjajući veličinu sa semantikom pobjeda najmanjeg ekrana. Zadane opcije održavanja (ServerAliveInterval=20, ServerAliveCountMax=2) se ubacuju osim ako ih vaša konfiguracija već postavlja.

#Relay daemon

Prilikom prvog povezivanja, cmux ispituje udaljeni host (uname -s, uname -m) i učitava verzionisanu cmuxd-remote binarnu datoteku. Binarni program govori JSON-RPC preko stdio i obrađuje tri stvari:

FeatureKako
Proksiranje saobraćaja pretraživačaSOCKS5 i HTTP POVEZUJU se preko demonskog stdio kanala
CLI relejObrnuti TCP tunel sa HMAC-SHA256 auth tako da udaljeni procesi mogu lokalno pozvati cmux komande
Upravljanje sesijamaZadržava sesije preko ponovnog povezivanja, koordinira promjenu veličine PTY-a u više priloga

Daemon binarni fajl je pohranjen na ~/.cmux/bin/cmuxd-remote/<version>/<os>-<arch>/cmuxd-remote na udaljenom hostu i provjeren prema SHA-256 manifestu ugrađenom u aplikaciju.