我正在尝试使用包 "ftp" 连接到安全的 FTP 服务器
当我连接到不安全的服务器时,代码工作正常并且所有事件都没有问题地引发并且我看到了内容。
但只要我尝试使用帐户和密码连接到服务器,就不会引发任何事件并且控制台日志中也没有任何内容(没有错误),服务器就会继续运行。 p>
我尝试了多个端口,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
被解雇了,但没有别的。有谁知道问题出在哪里?
最佳答案
端口 22 是 SSH 的默认端口。您可以使用 SFTP 协议(protocol)通过 SSH 传输文件。
SFTP 与 FTP 不同(也与 FTPS(FTP + SSL 或 TLS)不同)。
您需要使用支持 SFTP 的模块,例如 ssh2
.
关于javascript - 无法使用 npm 中的 "ftp"包连接到 ftp 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56842226/