#SSH
cmux ssh uzaktaki bir makine için bir çalışma alanı oluşturur. Tarayıcı bölmeleri uzak ağ üzerinden yönlendirilir, dosyalar scp yoluyla sürükleyip bırakılır, kodlama aracıları yerel kenar çubuğunuza bildirimler gönderir ve oturumlar bağlantı kesildiğinde yeniden bağlanır.
#Kullanım
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, ana bilgisayar takma adları, kimlik dosyaları ve proxy ayarları için ~/.ssh/config dosyanızı okur. Tüm bayraklar ssh eşdeğerlerini yansıtır.
#Bayraklar
| Bayrak | Açıklama |
|---|---|
--name | Çalışma alanı başlığını ayarlayın |
-p, --port | SSH bağlantı noktası (varsayılan 22) |
-i, --identity | Kimlik dosyasının yolu |
-o, --ssh-option | İsteğe bağlı SSH seçeneklerini iletin (ör. -o StrictHostKeyChecking=no) |
--no-focus | Geçiş yapmadan çalışma alanını oluşturun |
#SSH derin bağlantıları
Bir web sitesi veya araç cmux'da aç düğmesi sunmak istediğinde cmux SSH derin bağlantılarını kullanın. Bağlantı cmux'u açar, bir onay istemi gösterir ve kullanıcı onayladıktan sonra eşdeğer cmux ssh komutunu çalıştırır.
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=trueWeb sitesi düğmeleri için cmux.com yedek URL'sini kullanın. Yerel bağlantıyı açar ve cmux yüklü değilse indirme işlemini gösterir.
https://cmux.com/deeplink/ssh?host=workspace123.vm-ssh.freestyle.sh&user=workspace123%2Csession-token&title=FreestyleBilgi istemi ve kurallar düğmeleri aynı geri dönüş şeklini kullanır. Virgüller, iki nokta üst üste ve gerçek artı işaretleri, URL olarak kodlandıklarında korunur:
https://cmux.com/deeplink/prompt?text=Review%20this%20branch
https://cmux.com/deeplink/rules?name=freestyle&text=Prefer%20commas,%20colons:%20and%20small%20PRsKontrol paneli düğmeleri için SVG simgesini veya taramalı görüntü gerektiğinde PNG logosunu kullanın:
https://cmux.com/cmux-icon.svg
https://cmux.com/logo.pngBaşlıkların, ana makine takma adlarının ve kullanıcı adlarının güvenli bir şekilde kodlanması için URLSearchParams ile yedek URL'yi oluşturun:
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();| Parametre | Anlamı |
|---|---|
host | Gerekli SSH ana bilgisayarı veya ~/.ssh/config takma adı. |
user | İsteğe bağlı SSH kullanıcısı. cmux, onu user@host olarak Host ile birleştirir. |
port | İsteğe bağlı SSH bağlantı noktası, 1 ila 65535. |
title / name | İsteğe bağlı çalışma alanı başlığı. Başlık veya adlardan yalnızca birini kullanın. |
connect-timeout | Saniye cinsinden isteğe bağlı ConnectTimeout değeri, 1'den 600'e kadar. |
server-alive-interval | İsteğe bağlı ServerAliveInterval değeri saniye cinsinden, 1'den 3600'e kadar. |
server-alive-count-max | İsteğe bağlı ServerAliveCountMax değeri, 1'den 100'e kadar. |
host-key-policy | İsteğe bağlı StrictHostKeyChecking politikası: yeniyi kabul et, sor, katı veya evet. |
no-focus | İsteğe bağlı boole. true çalışma alanını ona geçmeden oluşturur. |
Kararlı uygulama için cmux://, Nightly için cmux-nightly:// ve Hata Ayıklama veya etiketli geliştirme yapıları için cmux-dev:// kullanın.
Harici bağlantılar kimlik dosyalarını, ham ssh seçeneklerini, komutları, ProxyCommand'ı veya iletim kurallarını aktaramaz. Bunun yerine anahtarları, ProxyJump'ı, Ana BilgisayarAdı'nı ve gelişmiş seçenekleri ~/.ssh/config içine yerleştirin. cmux komut önizlemesini görüntüler ve kullanıcının bağlanmadan önce SSH hedefine güvenmesini gerektirir.
#Tarayıcı bölmeleri
Uzak çalışma alanındaki tarayıcı bölmeleri, tüm HTTP ve WebSocket trafiğini uzak makinenin ağı üzerinden yönlendirir. localhost:3000 yazın ve uzak kutuda çalışan dev sunucusuna bakıyorsunuz. -L bayrağı yok, manuel bağlantı noktası yönlendirme yok. Her uzak çalışma alanı yalıtılmış bir çerez deposuna sahip olur, böylece oturumlar bağlantı başına kapsamlanır.
#Sürükle ve bırak
Bir görüntüyü veya dosyayı uzak bir terminale sürükleyin ve cmux bunu mevcut SSH bağlantısı üzerinden scp aracılığıyla yükler. cmux, TTY tarafından ön plandaki SSH işlemini algılar ve yüklemeyi ControlMaster çoğullaması yoluyla yönlendirir.
#Bildirimler
Uzak makinedeki işlemler, yerel örneğinizde yürütülen cmux komutlarını çalıştırabilir. Bir kodlama aracısı uzak kutuda cmux notify'ı çağırdığında, bildirim yerel kenar çubuğunuzda görünür. Çalışma alanı sekmesinde mavi halka yanar. Cmd+Shift+U ona atlar. Kesintili bağlantılardan gelen spam bildirimleri, ana bilgisayar başına bekleme süresiyle bastırılır.
#SSH üzerinden kodlama aracıları
cmux Claude-teams ve cmux omo'nun her ikisi de SSH oturumlarında çalışır. Uzak ana bilgisayardaki Go geçiş arka plan programı, yerel Swift CLI'nin yaptığı tmux uyumlu çevirinin aynısını işler. Ekip arkadaşı ajanları, hesaplama uzak kutuda çalışırken yerel makinenizde yerel cmux bölünmeleri olarak ortaya çıkar.
# Inside an SSH session:
cmux claude-teams
cmux omo#Yeniden bağlan
Bağlantı kesildiğinde cmux üstel geri çekilmeyle yeniden bağlanır (3 sn, 6 sn, 12 sn, 60 sn'ye kadar). Uzak oturum devam eder ve cmux yeniden bağlanıldığında yeniden bağlanır ve en küçük ekran kazanma semantiğiyle yeniden boyutlandırılır. Varsayılan canlı tutma seçenekleri (ServerAliveInterval=20, ServerAliveCountMax=2), yapılandırmanız bunları zaten ayarlamadığı sürece eklenir.
#Aktarma arka plan programı
İlk bağlantıda cmux uzak ana bilgisayarı inceler (uname -s, uname -m) ve sürümlendirilmiş bir cmuxd-remote ikili dosyasını yükler. İkili dosya stdio üzerinden JSON-RPC'yi konuşur ve üç şeyi yönetir:
| Özellik | Nasıl |
|---|---|
| Tarayıcı trafiği proxy'si oluşturma | Arka plan programının stdio kanalı üzerinden SOCKS5 ve HTTP CONNECT |
| CLI geçişi | Uzak işlemlerin cmux komutlarını yerel olarak çağırabilmesi için HMAC-SHA256 kimlik doğrulamasıyla TCP tünelini tersine çevirin |
| Oturum yönetimi | Yeniden bağlantılarda oturumları sürdürür, birden fazla ekte PTY'nin yeniden boyutlandırılmasını koordine eder |
Arka plan programı ikili dosyası, uzak ana bilgisayarda ~/.cmux/bin/cmuxd-remote/<version>/<os>-<arch>/cmuxd-remote konumunda depolanır ve uygulamaya katıştırılmış bir SHA-256 bildirimine göre doğrulanır.