ssh

Conectarse a un servidor, ejecutar comandos y crear túneles cifrados.

Antes de ejecutar

En el primer acceso, compruebe la huella de la clave del servidor por un canal fiable. -N solo activa reenvíos; Ctrl+C detiene estos túneles en primer plano. -L resuelve y alcanza el destino desde el servidor SSH; -R lo alcanza desde este equipo. La escucha remota depende de la política de reenvío del servidor, y la vinculación a loopback también de GatewayPorts. ExitOnForwardFailure comprueba la configuración inicial, no cada destino posterior. -D ofrece SOCKS, no una VPN: configure el cliente por separado, incluido DNS remoto si lo admite. Oculte direcciones, usuarios y rutas de claves antes de compartir registros detallados.

Ejemplos

Iniciar sesión y completar la verificación de la clave del servidor y la autenticación.

ssh alice@server.example.com

Elegir el puerto 2222 y una clave; IdentitiesOnly limita las identidades ofrecidas.

ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes alice@server.example.com

Acceder al destino a través de un bastión con ProxyJump (-J).

ssh -J alice@bastion.example.com alice@internal.example.com

Reenvío local: el puerto 15432 llega a la base de datos a través del servidor.

ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 -o ExitOnForwardFailure=yes alice@server.example.com

Reenvío remoto: el puerto loopback 18080 del servidor llega al puerto 8080 de este equipo.

ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 -o ExitOnForwardFailure=yes alice@server.example.com

Crear una escucha SOCKS local en 127.0.0.1:1080.

ssh -N -D 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Diagnosticar con registros detallados y diez segundos de espera para establecer conexión.

ssh -vvv -o ConnectTimeout=10 alice@server.example.com

Conecte mediante dos servidores de salto en orden. El cliente autentica cada salto; verifique todas las claves de host.

ssh -J alice@jump1.example.com,alice@jump2.example.com alice@target.example.com

Muestre la configuración efectiva tras aplicar Host e Include. La salida puede contener datos sensibles de conexión.

ssh -G alice@server.example.com

Ejecute un comando remoto y vuelva a la terminal local. Use comillas adecuadas para la shell remota.

ssh alice@server.example.com 'uptime'

Cree y reutilice una conexión, compruébela y cierre la conexión maestra. Proteja ~/.ssh; al cerrarla también terminan sus sesiones dependientes.

ssh -M -S ~/.ssh/securepipes-%C -o ControlPersist=10m -fN alice@server.example.com
ssh -S ~/.ssh/securepipes-%C alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O check alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O exit alice@server.example.com

Enumere categorías de consulta, algoritmos de clave y cifrados. Que el cliente los admita no garantiza que el servidor los acepte.

ssh -Q help
ssh -Q key
ssh -Q cipher

Compruebe la entrada known_hosts y su huella. Elimínela solo después de verificar el cambio por un canal independiente; use el formato exacto de host y puerto.

ssh-keygen -F server.example.com -l
ssh-keygen -R server.example.com

Use modo no interactivo y tiempo de espera para scripts. Configure previamente autenticación y confianza; las solicitudes interactivas fallan.

ssh -o BatchMode=yes -o ConnectTimeout=10 alice@server.example.com

Use ProxyCommand con -W mediante un servidor de salto. ProxyJump suele ser más simple; verifique ambas claves de host.

ssh -o 'ProxyCommand=ssh -W %h:%p alice@bastion.example.com' alice@target.example.com

Cree un puerto SOCKS en la interfaz de bucle del servidor. Otros usuarios y procesos locales podrían acceder; el servidor debe permitir el reenvío.

ssh -N -R 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.com

Configure sondas SSH cifradas y tiempo de conexión. Detectan un extremo sin respuesta, pero no garantizan la reconexión.

ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ConnectTimeout=10 alice@server.example.com

Opciones y ejemplos

-p portFrecuente

Conéctese al puerto del servidor especificado.

Ejemplo
ssh -p 2222 alice@server.example.com
-i identity_fileFrecuente

Utilice el archivo de clave privada especificado; protégelo y nunca lo compartas.

Ejemplo
ssh -i ~/.ssh/id_ed25519 alice@server.example.com
-l login_name

Especifique el nombre de inicio de sesión remoto.

Ejemplo
ssh -l alice server.example.com
-J destinationFrecuente

Conéctese a través de un host de salto SSH.

Ejemplo
ssh -J alice@bastion.example.com alice@internal.example.com
-L address:port:host:hostportFrecuente

Reenvíe un puerto de escucha local a un destino alcanzado desde el servidor SSH.

Ejemplo
ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 alice@server.example.com
-R address:port:host:hostportFrecuente

Reenvía un puerto de escucha remoto a un destino al que se llega desde la computadora local. La política del servidor puede restringir el enlace.

Ejemplo
ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 alice@server.example.com
-D address:portFrecuente

Cree un oyente SOCKS local. Configure cada cliente para usarlo; esto no es una VPN.

Ejemplo
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-NFrecuente

No ejecute un comando remoto; útil sólo para reenviar.

Ejemplo
ssh -N -D 127.0.0.1:1080 alice@server.example.com
-o option=valueFrecuente

Establezca una opción ssh_config para esta invocación. El éxito de la configuración de reenvío no garantiza que se pueda llegar a un destino más adelante.

Ejemplo
ssh -o ExitOnForwardFailure=yes alice@server.example.com
-F configfile

Utilice un archivo de configuración de cliente alternativo.

Ejemplo
ssh -F ~/.ssh/lab_config alice@server.example.com
-v / -vvvFrecuente

Imprimir salida de diagnóstico; más caracteres v aumentan los detalles. Los registros pueden contener información de conexión confidencial.

Ejemplo
ssh -vvv alice@server.example.com
-4 / -6

Utilice solo IPv4 o solo IPv6, respectivamente.

Ejemplo
ssh -4 alice@server.example.com
-C

Solicitar compresión. Es posible que no mejore el tráfico ya comprimido.

Ejemplo
ssh -C alice@server.example.com
-T / -t

Deshabilitar o solicitar un pseudo-terminal, respectivamente.

Ejemplo
ssh -t alice@server.example.com
-A

Habilitar el reenvío de agentes. Un host remoto comprometido puede solicitar firmas del agente reenviado; Úselo solo con hosts confiables.

Ejemplo
ssh -A alice@server.example.com
-G

Imprima la configuración efectiva del cliente después de evaluar las reglas de Host y Match.

Ejemplo
ssh -G lab
-V

Imprima la versión del cliente SSH instalada.

Ejemplo
ssh -V

Referencias oficiales

Revisado el 27 de octubre de 2026