Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

1.1K
Views
Node.js ssh2-sftp-client Error: fastPut: No response from server Local

I am using node -v v14.17.0 and "ssh2-sftp-client": "^7.0.0" and method fastPut https://github.com/theophilusx/ssh2-sftp-client#sec-5-2-9

Checking the remote files is okay, so connection works.

My environment is wsl2 Ubuntu-20.04

Problem I face is 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)

I have tried also with sftp> put /home/draganddrop/testi.txt Downloads/testi.txt from console, which works.

Code I am using:

        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);
        });

I have no idea what causes this error, I've tried with different paths and get either bad path error or this. What could be the cause?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

The reason for the problem is that the connection is closing before the finish of executing fastPut.
You are running connect, after that in the first .then, the method fastPut runs asynchronously, it doesn't wait for the finish execution and return undefined to the next method .then of the chain.
To solve the problem you just need to return a promise received from fastPut

sftp.connect(config)
        .then(() => sftp.fastPut(localPath, remotePath))
        .then((data) => {/* do something*/}
        .finally(() => sftp.end())
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!