#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_ed25519cmux ssh čita vašu ~/.ssh/config za pseudonime hosta, datoteke identiteta i postavke proxyja. Sve zastavice odražavaju njihove ssh ekvivalente.
#Zastave
| Zastava | Opis |
|---|---|
--name | Postavite naslov radnog prostora |
-p, --port | SSH port (zadano 22) |
-i, --identity | Put do datoteke identiteta |
-o, --ssh-option | Proslijedi proizvoljne SSH opcije (npr. -o StrictHostKeyChecking=no) |
--no-focus | Kreirajte radni prostor bez prelaska na njega |
#SSH duboke veze
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=trueKoristite 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=FreestyleDugmad 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%20PRsKoristite 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.pngNapravite 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();| Parametar | Značenje |
|---|---|
host | Potreban SSH host ili ~/.ssh/config alias. |
user | Opcioni SSH korisnik. cmux ga kombinuje sa hostom kao korisnik@host. |
port | Opcioni SSH port, 1 do 65535. |
title / name | Opcioni naziv radnog prostora. Koristite samo jedan naslov ili ime. |
connect-timeout | Opcionalna vrijednost ConnectTimeouta u sekundama, od 1 do 600. |
server-alive-interval | Opcionalna vrijednost ServerAliveInterval u sekundama, od 1 do 3600. |
server-alive-count-max | Opcionalna vrijednost ServerAliveCountMax, od 1 do 100. |
host-key-policy | Opciono pravilo StrictHostKeyChecking: prihvati-novo, pitaj, strogo ili da. |
no-focus | Opcijski 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:
| Feature | Kako |
|---|---|
| Proksiranje saobraćaja pretraživača | SOCKS5 i HTTP POVEZUJU se preko demonskog stdio kanala |
| CLI relej | Obrnuti TCP tunel sa HMAC-SHA256 auth tako da udaljeni procesi mogu lokalno pozvati cmux komande |
| Upravljanje sesijama | Zadrž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.