Не удается подключиться к серверу ftp с помощью пакета "ftp" из npm - PullRequest
1 голос
/ 01 июля 2019

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

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

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

Я пробовал несколько портов, и 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 Ответ

2 голосов
/ 01 июля 2019

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

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

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

...