Не удается подключиться к серверу ftp с помощью пакета "ftp" из npm

Я пытаюсь подключиться к защищенному FTP-серверу, используя пакет "ftp"

Когда я подключаюсь к незащищенному серверу, код работает нормально, и все события возникают без проблем, и я вижу контент.

Но пока я пытаюсь подключиться к серверу с помощью пароля и пароля, ни одно из событий не возникает и ничего в журналах консоли (без ошибок), сервер просто продолжает работать.

Я пробовал несколько портов, и 22 является правильным, потому что на других портах он выдает ошибку при запуске.

Я пытался secure: true/false и это не помогло мне.

const Client = require("ftp");
const fs = require("fs");

let config = {
  host: "10.2.22.22",
  user: "test",
  password: "pass",
  port: 22
};

var c = new Client();
c.on("ready", function() {
  c.list(function(err, list) {
    if (err) throw err;
    console.dir(list);
    c.end();
  });
});
c.on("greeting", function() {
  console.log("greeting");
});
c.on("close", function() {
  console.log("close");
});
c.on("end", function() {
  console.log("end");
});

c.connect(config);

Это все данные консоли, которые не меняются:

Mac | util-> nodemon ftpUpload.js 
[nodemon] 1.18.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node ftpUpload.js`

Через некоторое время я заметил, что

end
close

Уволили, но больше ничего. Кто-нибудь знает, где проблема?

1 ответ

Порт 22 является портом по умолчанию для SSH. Вы можете передавать файлы по SSH, используя протокол SFTP.

SFTP - это не то же самое, что FTP (и не то же самое, что FTPS (то есть FTP + SSL или TLS).

Вам нужно использовать модуль, который поддерживает SFTP, такой как ssh2,

Другие вопросы по тегам