Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.1K
Vistas
Node.js ssh2-sftp-client Error: fastPut: No hay respuesta del servidor Local

Estoy usando node -v v14.17.0 y "ssh2-sftp-client": "^7.0.0" y el método fastPut https://github.com/theophilusx/ssh2-sftp-client#sec-5-2-9

Verificar los archivos remotos está bien, por lo que la conexión funciona.

Mi entorno es wsl2 Ubuntu-20.04

El problema al que me enfrento es un error.

 RuntimeError: abort(Error: fastPut: No response from server Local: /home/draganddrop/testi.txt Remote: Downloads/testi.txt). Build with -s ASSERTIONS=1 for more info. at process.J (/home/draganddrop/node_modules/ssh2/lib/protocol/crypto/poly1305.js:20:53) at process.emit (events.js:376:20) at processPromiseRejections (internal/process/promises.js:245:33) at processTicksAndRejections (internal/process/task_queues.js:96:32)

También probé con sftp> put /home/draganddrop/testi.txt Downloads/testi.txt desde la consola, que funciona.

Código que estoy usando:

 let Client = require('ssh2-sftp-client'); let sftp = new Client(); let remotePath = 'Downloads/testi.txt'; let localPath = '/home/draganddrop/testi.txt' const config = { host: 'XX.XX.XXX.XXX', port: '22', username: 'XXXXX', password: 'XXXXXX' }; sftp.connect(config) .then(() => { sftp.fastPut(localPath, remotePath); //return sftp.exists(remotePath); }) //.then(data => { // console.log(data); // will be false or d, -, l (dir, file or link) //}) .then(() => { sftp.end(); }) .catch(err => { console.error(err.message); });

No tengo idea de qué causa este error, lo intenté con diferentes rutas y obtuve un error de ruta incorrecta o esto. ¿Qué podría ser la causa?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

El motivo del problema es que la conexión se cierra antes de que finalice la ejecución de fastPut .
Está ejecutando connect, después de eso en el primer .then , el método fastPut se ejecuta de forma asíncrona, no espera a que finalice la ejecución y regresa indefinido al siguiente método .then de la cadena.
Para resolver el problema, solo necesita devolver una promesa recibida de fastPut

 sftp.connect(config) .then(() => sftp.fastPut(localPath, remotePath)) .then((data) => {/* do something*/} .finally(() => sftp.end())
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda