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 }