Не удается подключиться к серверу 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
,