Repolode
appleboy

appleboy/ssh-action

Una GitHub Action para ejecutar comandos en servidores remotos por SSH desde tus flujos de CI/CD.

Estrellas
6,225
Forks
679
Issues abiertos
32
Último commit
hace 2 meses

¿Qué es?

SSH for GitHub Actions permite que un flujo de trabajo inicie sesión en uno o varios hosts remotos por SSH y ejecute comandos de shell o un archivo de script. Se usa habitualmente para desplegar código, reiniciar servicios o realizar tareas de mantenimiento en servidores como parte de un pipeline de GitHub Actions. La action está desarrollada en Golang sobre drone-ssh.

Las opciones de conexión incluyen autenticación con contraseña y clave privada, puertos personalizados, selección de protocolo IPv4/IPv6, comprobación de la huella digital del host y hosts de salto mediante una configuración de proxy independiente. En un mismo paso se puede conectar a varios hosts, en paralelo o de forma síncrona. Es posible pasar variables de entorno al script remoto y capturar la salida estándar como salida del paso para usarla en pasos posteriores.

El repositorio incluye instrucciones para generar claves RSA y ED25519, notas sobre la compatibilidad de OpenSSH con algoritmos antiguos y soluciones a problemas de shells en los que no se encuentran los comandos.

Funciones clave

  • 01Ejecutar varios comandos o un archivo de script en hosts remotos
  • 02Autenticarse con contraseña o clave privada, con compatibilidad con frases de contraseña
  • 03Desplegar en varios hosts, en paralelo o de forma síncrona
  • 04Conectarse mediante un host de salto con una configuración de proxy independiente
  • 05Pasar variables de entorno al script remoto
  • 06Capturar la salida de los comandos para usarla en pasos posteriores del flujo de trabajo

Casos de uso

  • Desplegar una aplicación compilada en un VPS o servidor local después de un push
  • Reiniciar servicios o ejecutar migraciones de bases de datos en máquinas remotas desde CI
  • Ejecutar scripts de mantenimiento en varios hosts en un solo paso del flujo de trabajo
  • Acceder desde runners alojados en GitHub a servidores privados detrás de un host bastión

Inicio rápido

  1. 1

    Añade el paso de appleboy/ssh-action al workflow con las entradas host, username, key y script

  2. 2

    Guarda HOST, USERNAME, KEY y PORT en GitHub Secrets y haz referencia a ellos en el paso

  3. 3

    Haz push al repositorio para activar el workflow y ejecutar los comandos remotos

Antes de usarlo

  • Solo se ejecuta dentro de workflows de GitHub Actions; no es una herramienta de línea de comandos independiente.
  • Los hosts remotos deben aceptar conexiones SSH desde los runners de GitHub y tener configurado el inicio de sesión con clave o contraseña.

Temas

Preguntas frecuentes

¿Qué es ssh-action?
Una GitHub Action para ejecutar comandos en servidores remotos por SSH desde tus flujos de CI/CD. SSH for GitHub Actions permite que un flujo de trabajo inicie sesión en uno o varios hosts remotos por SSH y ejecute comandos de shell o un archivo de script. Se usa habitualmente para desplegar código, reiniciar servicios o realizar tareas de mantenimiento en servidores como parte de un pipeline de GitHub Actions. La action está desarrollada en Golang sobre drone-ssh.
¿ssh-action es gratuito? ¿Qué licencia tiene?
ssh-action es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ssh-action sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de ssh-action fue el 16 ago 2026.
¿Para qué puedo usar ssh-action?
Desplegar una aplicación compilada en un VPS o servidor local después de un push Reiniciar servicios o ejecutar migraciones de bases de datos en máquinas remotas desde CI Ejecutar scripts de mantenimiento en varios hosts en un solo paso del flujo de trabajo Acceder desde runners alojados en GitHub a servidores privados detrás de un host bastión
¿Cómo se instala ssh-action?
Añade el paso de appleboy/ssh-action al workflow con las entradas host, username, key y script Guarda HOST, USERNAME, KEY y PORT en GitHub Secrets y haz referencia a ellos en el paso Haz push al repositorio para activar el workflow y ejecutar los comandos remotos
¿Dónde consigo ssh-action?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/appleboy/ssh-action

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados