Files
fn_registry/functions/infra/ssh_check.go
T
egutierrez 560cbf280e feat: funciones SSH para infra — conn, check, exec, download, upload, tunnel
Conjunto completo de funciones SSH para operaciones remotas: conexión,
verificación de host, ejecución de comandos, transferencia de archivos
(upload/download) y gestión de túneles. Incluye tipo SSHConn y tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:03:41 +02:00

23 lines
611 B
Go

package infra
import (
"fmt"
"os/exec"
"strings"
)
// SSHCheck verifica la conectividad SSH ejecutando un comando noop en el host remoto.
// Retorna nil si la conexion fue exitosa, o error con el detalle del fallo.
func SSHCheck(conn SSHConn) error {
args := conn.sshArgs()
args = append(args, "-o", "ConnectTimeout=5")
args = append(args, "-o", "BatchMode=yes")
args = append(args, conn.destination(), "exit", "0")
out, err := exec.Command("ssh", args...).CombinedOutput()
if err != nil {
return fmt.Errorf("ssh check %s: %s", conn.destination(), strings.TrimSpace(string(out)))
}
return nil
}