--- name: ssh_download kind: function lang: go domain: infra version: "1.0.0" purity: impure signature: "func SSHDownload(conn SSHConn, remotePath, localPath string) error" description: "Descarga un archivo del host remoto al filesystem local via scp." tags: [ssh, scp, download, file, transfer, remote] uses_functions: [] uses_types: [ssh_conn_go_infra] returns: [] returns_optional: false error_type: "error_go_core" imports: [fmt, os/exec, strings] params: - name: conn desc: "estructura SSHConn con Host, User, Port, IdentityFile" - name: remotePath desc: "ruta del archivo en el host remoto" - name: localPath desc: "ruta de destino en el filesystem local" output: "nil si la descarga fue exitosa, error en caso contrario" tested: true tests: ["upload y download roundtrip"] test_file_path: "functions/infra/ssh_transfer_test.go" file_path: "functions/infra/ssh_download.go" --- ## Ejemplo ```go conn := SSHConn{Host: "192.168.1.100", User: "deploy"} err := SSHDownload(conn, "/var/log/app.log", "./app.log") ``` ## Notas Descarga un archivo remoto al path local indicado. Para descargar directorios, usar SSHExec con tar/rsync como alternativa.