【问题标题】:Not able to connect to ftp server using "ftp" package from npm无法使用 npm 中的“ftp”包连接到 ftp 服务器
【发布时间】:2019-07-01 20:43:49
【问题描述】:

我正在尝试使用包 "ftp" 连接到安全 FTP 服务器

当我连接到不安全的服务器时,代码工作正常并且所有事件都没有问题地引发并且我看到了内容。

但只要我尝试使用 acc 和密码连接到 服务器,就不会引发任何事件,控制台日志中也没有任何内容(无错误),服务器会继续运行。 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

被解雇了,但没有别的。有谁知道问题出在哪里?

【问题讨论】:

标签: javascript node.js npm ftp node-ftp


【解决方案1】:

端口 22 是 SSH 的默认端口。您可以使用 SFTP 协议通过 SSH 传输文件。

SFTP 不同于 FTP(也不同于 FTPS(即 FTP + SSL 或 TLS)。

您需要使用支持SFTP的模块,例如ssh2

【讨论】:

  • 但是如何使用这个包我可以上传或下载文件?我在文档中没有看到这些。
  • Quote: sftp(accept, reject) - 客户端已请求 SFTP 子系统。如果客户端请求响应,则接受和拒绝是函数。 accept() 在服务器模式下返回一个 SFTPStream(有关详细信息,请参阅 SFTPStream 文档)。
猜你喜欢
  • 2015-09-21
  • 2011-05-28
  • 2021-02-03
  • 1970-01-01
  • 2023-03-22
  • 2021-03-17
  • 2012-05-16
  • 2011-09-26
  • 2018-10-03
相关资源
最近更新 更多