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

#SSH

cmux ssh crea un espacio de trabajo para una máquina remota. Los paneles del navegador se enrutan a través de la red remota, los archivos se arrastran y sueltan a través de scp, los agentes de codificación envían notificaciones a su barra lateral local y las sesiones se vuelven a conectar al caer.

#Uso

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 lee su ~/.ssh/config para alias de host, archivos de identidad y configuraciones de proxy. Todas las banderas reflejan sus equivalentes ssh.

#Banderas

BanderaDescripción
--nameEstablecer el título del espacio de trabajo
-p, --portPuerto SSH (predeterminado 22)
-i, --identityRuta al archivo de identidad
-o, --ssh-optionPasar opciones SSH arbitrarias (por ejemplo, -o StrictHostKeyChecking=no)
--no-focusCree el espacio de trabajo sin cambiar a él

Utilice enlaces profundos SSH de cmux cuando un sitio web o herramienta quiera ofrecer un botón Abrir en cmux. El enlace abre cmux, muestra un mensaje de confirmación y luego ejecuta el comando cmux ssh equivalente después de que el usuario confirma.

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

Utilice la URL alternativa de cmux.com para los botones del sitio web. Abre el enlace nativo y muestra la descarga si cmux no está instalado.

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

Los botones de aviso y de reglas usan la misma forma alternativa. Las comas, los dos puntos y los signos más literales se conservan cuando están codificados en URL:

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

Utilice el ícono SVG para los botones del tablero o el logotipo PNG cuando se requiera una imagen rasterizada:

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

Cree la URL alternativa con URLSearchParams para que los títulos, los alias de host y los nombres de usuario se codifiquen de forma segura:

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();
ParámetroSignificado
hostHost SSH requerido o alias ~/.ssh/config.
userUsuario SSH opcional. cmux lo combina con host como usuario@host.
portPuerto SSH opcional, 1 a 65535.
title / nameTítulo del espacio de trabajo opcional. Utilice sólo uno de título o nombre.
connect-timeoutValor opcional de ConnectTimeout en segundos, de 1 a 600.
server-alive-intervalValor opcional de ServerAliveInterval en segundos, de 1 a 3600.
server-alive-count-maxValor opcional ServerAliveCountMax, de 1 a 100.
host-key-policyPolítica opcional StrictHostKeyChecking: aceptar nuevo, preguntar, estricto o sí.
no-focusBooleano opcional. true crea el espacio de trabajo sin cambiar a él.

Utilice cmux:// para la aplicación estable, cmux-nightly:// para Nightly y cmux-dev:// para depuración o compilaciones de desarrollo etiquetadas.

Los enlaces externos no pueden pasar archivos de identidad, opciones ssh sin formato, comandos, ProxyCommand o reglas de reenvío. En su lugar, coloque las claves, ProxyJump, HostName y opciones avanzadas en ~/.ssh/config. cmux muestra la vista previa del comando y requiere que el usuario confíe en el destino SSH antes de conectarse.

#Paneles del navegador

Los paneles del navegador en un espacio de trabajo remoto enrutan todo el tráfico HTTP y WebSocket a través de la red de la máquina remota. Escriba localhost:3000 y verá el servidor de desarrollo que se ejecuta en la caja remota. Sin indicadores -L, sin reenvío manual de puertos. Cada espacio de trabajo remoto obtiene un almacén de cookies aislado, por lo que las sesiones tienen un alcance por conexión.

#Arrastrar y soltar

Arrastre una imagen o archivo a una terminal remota y cmux lo carga a través de scp a través de la conexión SSH existente. cmux detecta el proceso SSH en primer plano mediante TTY y enruta la carga a través de la multiplexación ControlMaster.

#Notificaciones

Los procesos en la máquina remota pueden ejecutar comandos cmux que se ejecutan en su instancia local. Cuando un agente de codificación llama a cmux notify en el cuadro remoto, la notificación aparece en la barra lateral local. El anillo azul se ilumina en la pestaña del espacio de trabajo. Cmd+Shift+U salta a él. Las notificaciones de spam de conexiones inestables se suprimen con un tiempo de reutilización por host.

#Agentes de codificación sobre SSH

cmux claude-teams y cmux omo funcionan dentro de sesiones SSH. El demonio de retransmisión Go en el host remoto maneja la misma traducción tmux-compat que la CLI Swift local. Los agentes de compañeros de equipo se generan como divisiones cmux nativas en su máquina local mientras el cálculo se ejecuta en la caja remota.

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

#Reconectar

Cuando la conexión se cae, cmux se vuelve a conectar con un retroceso exponencial (3 s, 6 s, 12 s, hasta 60 s). La sesión remota persiste y cmux se vuelve a conectar al volver a conectarse, cambiando el tamaño con la semántica de ganancia de pantalla más pequeña. Las opciones de keepalive predeterminadas (ServerAliveInterval=20, ServerAliveCountMax=2) se inyectan a menos que su configuración ya las establezca.

#demonio de retransmisión

En la primera conexión, cmux sondea el host remoto (uname -s, uname -m) y carga un binario cmuxd-remote versionado. El binario habla JSON-RPC sobre stdio y maneja tres cosas:

CaracterísticaCómo
Proxy de tráfico del navegadorSOCKS5 y HTTP CONNECT a través del canal stdio del demonio
Relé CLITúnel TCP inverso con autenticación HMAC-SHA256 para que los procesos remotos puedan llamar a los comandos cmux localmente
Gestión de sesionesPersiste las sesiones a través de reconexiones, coordina el cambio de tamaño de PTY en múltiples archivos adjuntos

El binario del demonio se almacena en ~/.cmux/bin/cmuxd-remote/<version>/<os>-<arch>/cmuxd-remote en el host remoto y se verifica con un manifiesto SHA-256 integrado en la aplicación.