2

我需要通过 SFTP 为用户接受文件。我还需要动态创建、更新、销毁用户帐户。

实现此目的的一种方法是安装 SFTP 服务器,然后编写脚本来处理编辑/更新用户。

在玩了少量 Node.js 之后,似乎它会擅长这种事情。有什么建议如何去做,或者可以做到这一点的模块吗?

4

3 回答 3

4

node-libssh can act as a SFTP server, see an example at: https://github.com/rvagg/node-libssh/blob/master/examples/stdiopipe.js

于 2013-10-21T09:55:18.993 回答
0

node.js 中的一个常见模式是围绕某些服务创建一个节点包装库,在您的情况下是 sftp。看一下代码(遗憾的是缺少文档)node-sftp 项目:

https://github.com/ajaxorg/node-sftp

因此,回顾一下,一个非常常见的事情是在节点中创建一些基于 HTTP 的 API 包装器(可能使用 express),然后与系统上的某些服务进行对话。

于 2012-10-31T04:54:00.193 回答
0

我不知道任何特定的 SFTP 实现,但是这个 https://github.com/substack/node-ssh 可能可以扩展为在 ssh 连接上支持 SFTP 协议。

SFTP 通过使用 SSH 连接来承载 FTP 协议,这是一种基于文本的协议。

我将从这个文件开始: https ://github.com/substack/node-ssh/blob/master/index.js 并更改匹配 CHANNEL_REQUEST_SHELL 的行并将其替换为正确的常量并匹配 sftp 协议通道类型。

如果您需要更多帮助,您可能可以在 freenode 上的 #node.js 上访问子堆栈。

(顺便说一句,python 和 conch 可能对这种事情有更多的支持。node.js 的构建块存在,但我知道没有完整的 SFTP 实现。)

于 2012-10-31T06:06:02.270 回答