问题标签 [ssh2-sftp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1207 浏览

javascript - 为从 ssh2-sftp-client 中的缓冲区上传的文件分配名称?

我很难通过 ssh2-sftp-client ( https://www.npmjs.com/package/ssh2-sftp-client ) 从缓冲区上传文件我正在使用 Multer 上传文件,然后我只是目标req.file.buffer是访问要通过 sftp 客户端上传的数据,如下所示:

我无法弄清楚如何为存储在req.file.originalname Multer 对象中的上传文件分配名称。

顺便说一句,ssh2-sftp-client 返回以下错误:

Error: Failure image.routes.js:39 code:4 lang:"" message:"Failure" stack:"Error: Failure\n at SFTPStream._transform (/Users/petrfila/Apps/lifeIQ/liq-api/node_modules/ssh2-streams/lib/sftp.js:410:27)\n at SFTPStream.Transform._read (_stream_transform.js:185:10)\n at SFTPStream._read (/Users/petrfila/Apps/lifeIQ/liq-api/node_modules/ssh2-streams/lib/sftp.js:181:15)\n at SFTPStream.Transform._write (_stream_transform.js:173:12)\n at doWrite (_stream_writable.js:406:12)\n at writeOrBuffer (_stream_writable.js:392:5)\n at SFTPStream.Writable.write (_stream_writable.js:290:11)\n at Channel.ondata (_stream_readable.js:646:20)\n at Channel.emit (events.js:127:13)\n at addChunk (_stream_readable.js:269:12)\n at readableAddChunk (_stream_readable.js:256:11)\n at Channel.Readable.push (_stream_readable.js:213:10)\n at SSH2Stream.<anonymous> (/Users/petrfila/Apps/lifeIQ/liq-api/node_modules/ssh2/lib/Channel.js:166:15)\n at SSH2Stream.emit (events.js:127:13)\n at parsePacket (/Users/petrfila/Apps/lifeIQ/liq-api/node_modules/ssh2-streams/lib/ssh.js:3444:10)\n at ... __proto__:Object {constructor: , name: "Error", message: "", …} constructor:function Error() { … } message:"" name:"Error" toString:function toString() { … } __proto__:Object {constructor: , __defineGetter__: , __defineSetter__: , …} catch error

0 投票
5 回答
10542 浏览

macos - PHP7 MacOS 的 SSH2?

尝试使用时

PHP 7.1.7 认为我在类中寻找一个函数。经过一番阅读,我发现需要从 PECL 安装 SSH2 ( http://php.net/manual/en/wrappers.ssh2.php )

当我这样做时,出现以下错误:

任何人都知道如何让它在 MacOs 10.13.3 (17D47) 和 PHP 7.1.7 上运行?提前致谢!

0 投票
0 回答
366 浏览

ssh2-sftp - 使用 npm ssh2-sftp-client 将文件从 SFTP 服务器位置下载到 Node js 中的本地计算机

我正在尝试将 SFTP 服务器位置中的 xml 文件下载到我的本地计算机位置。我使用了 npm 包 ssh2-sftp-client & 使用 sftp.get 函数。服务器文件位置保存在文本文件中,例如:

这些路径使用fs.readfile函数读取并存储在数组中,这意味着

然后使用sftp.get&stream.pipe在本地路径中下载文件。问题是 xml1 只是被下载&之后代码继续运行&超时。知道为什么它没有运行多次吗?

用 Javascript 编码。

0 投票
1 回答
850 浏览

php - 调用未定义的方法 Net_SSH2::put()

我正在使用 PHP_SSH2 1.1.2 版(和 phpseclib 1.0.11 版),在尝试上传文件时,出现此错误:

PHP 致命错误:未捕获的错误:调用未定义的方法 Net_SSH2::put()

这是我正在使用的代码:

我可以正常连接到服务器(可以正常login()工作),但put()不是吗?

0 投票
1 回答
7295 浏览

node.js - 使用 Lambda(节点)将图像从 SFTP 复制到 S3

我正在使用“ssh2-sftp-client”来完成这项工作。因此,如果我先将文件复制到 Lambda 的 /tmp/ 文件夹,然后将其上传到 s3,基本上它工作正常。我想将读取流指向 s3 而不保存在 lambda /tmp/ 文件夹中。

所以基本上:

从 sftp 获取 readstream:

流到字符串:

上传到 s3:

使用它,图像被复制到 s3,但它们的大小与 sftp 中的大小不同,并且无法预览图像。

任何想法?

0 投票
1 回答
2035 浏览

javascript - ssh2:无法在节点 js 上运行服务器

如果这个问题重复,我很抱歉,但我找不到解决方案。

似乎我的问题很简单,但我不明白我做错了什么。我想设置 ssh 客户端来连接它并在 shell 中执行一些命令。所以第一件事 - 我选择了 ssh2 库并尝试使用以下代码

我把它index.js归档了。在使用此代码之前:

  1. 我通过命令设置了密钥对,ssh-keygen -t rsa -b 4096得到了 2 个密钥ssh.pubssh
  2. 然后重命名为user.puband host.key;
  3. 之后我做了ssh-add host.key. 反应是Identity added: host.key (host.key)。似乎一切都很好。

我跑了node index.js,有以下错误:

throw new Error('Missing passphrase for encrypted private key')

我做错了什么?也许创建密钥对的命令错误?如果您能帮助我,我将不胜感激。

0 投票
1 回答
124 浏览

node.js - 如何以编程方式关闭`ssh2` sftp服务器

我正在使用该ssh2创建一个 sftp 服务器以在我的测试套件期间进行测试。服务器成功启动,测试按预期运行——一切都很好。

但是,在进行了所有测试之后,测试脚本不会退出,因为 sftp 服务器进程仍在侦听/执行。

如何以编程方式关闭 sftp 服务器?

0 投票
1 回答
654 浏览

node.js - ssh2-sftp-client 一遍又一遍地获取相同的文件

Sftp我试图从使用节点的服务器获取一堆 2k 文件和ssh2-sftp-client.

这成功地获取了数组中的一个文件并正确命名它,除了每个文件实际上每次都下载相同的文件。

谢谢

0 投票
1 回答
1251 浏览

javascript - 如何使用nodejs检查SFtp上是否存在远程目录?

我需要检查 sFtp 连接上是否存在远程目录。

我正在使用这样的条件,

我正在使用库ssh2-sftp-client但它不允许我使用 Exist 方法,因为它没有该功能。

有人可以建议我如何检查远程目录是否存在吗?

0 投票
0 回答
925 浏览

node.js - 在连接失败时调用 ssh2 结束事件而没有错误事件

我正在使用 ssh2 连接到远程 sftp 服务器。代码如下所示:

有时在尝试连接时,会调用 end 回调,但不会调用 error 或 ready 回调。有谁知道为什么会这样?当无法与 sftp 服务器建立连接时,不应该发生错误回调吗?(之前我只有准备好和错误回调,在这种情况下都没有被调用,我的服务器程序挂在这个 Promise 中)。

我正在使用的节点模块是"ssh2": "^0.6.1"