问题标签 [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.
php - PHP 尝试通过 SFTP 下载文件但在计算文件大小时收到 stat failed 错误
尝试从 SFTP 位置下载文件。
我intval
在流上使用它,因为它旨在修复我在这里读到的错误:PHP 7 SSH2.SFTP stat() bug work around。我正在运行 PHP 7.0.33。
但是,它仍然在filesize
命令上失败
错误是:
我不明白为什么opendir
并且fopen
工作但filesize
失败了。任何指导将不胜感激。
谢谢
更新:
我放弃了试图让它发挥作用。我正在使用它。不太复杂,但它可以完成工作
node.js - 在 AWS 中存储用户的 ppk 文件的最佳实践?
我需要从 node.js 中的 lambda 函数连接到 SFTP。
我将从 SecretsManager 访问密码。我的第一个想法是将 ppk 文件(加密)存储在 AWS S3 存储桶中。我查看了是否有从 AWS 存储和检索 ppk 文件的最佳实践,但找不到任何东西。任何建议,将不胜感激。谢谢!
node.js - 从 SecretsManager 检索 ppk 文件并传递给 ssh2-sftp-client
我正在尝试从机密管理器中检索 ppk 文件的内容并使用它来连接到 SFTP。
如果我将文件存储在本地并传递文件,我可以轻松地做到这一点。
如果我尝试传递存储在 AWS SecretsManager 中的 ppk 文件的内容,它将不起作用。
我之前也尝试过将从 AWS SecretsManager 返回的字符串转换为缓冲区,而不是使用 fs.readFileSync 但这不起作用。
可以这样做吗?如果可以,有人可以帮我做对吗?
php - ssh2_connect(): 启动 SSH 连接时出错 (-43): 获取横幅失败
使用 php-ssh2 构建 docker 容器。php 7.2 版尝试使用时
我越来越Error starting up SSH connection(-43): Failed getting banner
。有趣的事情就43
在这里。有什么意义43
。这意味着什么?还有任何想法如何解决这个问题?没有繁重的负载,手动运行连接。
amazon-web-services - 以编程方式将文件从 S3 存储桶移动到 Windows EC2,反之亦然
我想将文件推送到 Windows EC2 并从我的 EC2 获取文件夹并将其存储在 S3 中。因为我有很多 EC2,所以我想自动化这个 - 我目前在 ECS 上有一个使用ssh2-sftp-client库的 Node.js 服务器。使用以下代码,我可以将文件推送到其中(同样,我可以从中提取文件并将其上传到 S3):
但这不是一个强大的解决方案——即使我有 5 或 6 个用户尝试同时推送服务器错误,因为它有太多的活动 SSH 连接。
有一个更好的方法吗?我想要做的就是使用 Node.js(对于 Windows EC2)上传/下载特定目录。
java - Apache MINA SSHD java.security.InvalidKeyException:SHA-1 摘要算法的安全强度不足以满足此密钥大小
我们正在使用 Apache SSHD mina 运行 SFTP 服务器。使用 Java 7,一切正常。但是对于 Java 8,当任何 SFTP 客户端尝试连接时,我们都会遇到以下异常。如何使用 Java 8 在服务器端解决此问题。客户端可以使用 RSA 或 SHA 算法。但是无论密钥大小和类型如何,服务器都必须同时处理。我正在使用 SimpleGeneratorHostKeyProvider。
php - ssh2_sftp 找不到名称中带有 $ 符号的文件
我在这里遇到了一些情况。我有一个通过 SFTP 向我提供某些文件的外部方。这些文件的名称中包含一些特殊字符。例如
问题是,通过执行以下操作,它无法找到该文件。
但是,我可以获取 SFTP 上的其他文件。它们不包含任何“特殊”字符作为文件名的一部分。
我也尝试用单引号引用文件名,但没有运气。同样有趣的是,我没有使用phpseclib遇到这个问题。
目前,我没有很快更改实现或要求第三方更改文件名的灵活性。
php - 如何使用原生 sftp 函数和 PHP 中的 fwrite 提高文件上传的性能
您好我正在使用以下代码将一个大文件(500MB)上传到 sftp 服务器。
但是上传速度很慢。代码在 Google Cloud Run 上运行。上传速度约为 8 MiB/s。
我也尝试通过 shell_exec 使用 lftp,但这会导致由于 Cloud Run 的更多问题。
上行链路不是问题,因为我可以通过 CURL post 发送文件而没有任何问题。
任何人都可以在这里提供帮助吗?
非常感谢,最好的,intxcc
javascript - 在 ssh2-sftp-client 中使用 ssh 指纹
好的,这可能需要预先解释一下。
我目前正在使用node-red进行自动化项目。我想使用 ssh 从远程服务器上传和下载文件。对于这个任务,我使用这个名为node-red-contrib-sftpc
. 我稍微重写了库,以便我可以通过移交给节点的有效负载移交一些用于 sftp 连接的凭据。要建立连接sftp.connect
,使用ssh2-sftp-client的方法:
您可以在文档中找到可以提供connect
参数hostHash
和hostVerifier
. ssh2-sftp-client 所基于的 ssh2 model的文档指出:
hostHash - 字符串 - 节点支持的任何有效哈希算法。主机的密钥使用此算法进行哈希处理,并作为十六进制字符串传递给 hostVerifier 函数。默认值:(无)
hostVerifier - function - 带参数的函数 (hashedKey[, callback]) 其中 hashedKey 是用于验证目的的主机密钥的字符串十六进制哈希。返回 true 以继续握手或 false 以拒绝和断开连接,或者如果您需要执行异步验证,则使用 true 或 false 调用 callback()。默认值:(如果未设置 hostVerifier,则自动接受)
所以这是我的问题:如何编写hostVerifier
函数?我想通过hashedKey
and fingerprint
,以便我可以返回true
or false
,当握手成功与否时。我想检查给定的服务器密钥指纹是否是“正确的”指纹并且我连接到正确的服务器。
据我了解,第二个参数将是一个回调函数,但我不知道如何使用它,以便验证握手。这是我的尝试,或者至少是我尝试的方式。
我知道这是完全错误的,但我快要疯了,因为我不知道如何正确检查 ssh 主机密钥指纹。
node.js - 使用 Node 和 SSH2 将缓冲区数据写入 SFTP 服务器
我正在尝试使用 SSH2 模块将文件写入 Node 中的 SFTP 服务器。对于我的用例,文件源是 Azure Blob 存储,文件相对较大(超过 5 个 gig),因此想法是从块存储中捕获数据并将其写入服务器。不想下载整个文件然后执行写入,因为文件很大并且不想在运行时出现磁盘空间问题。
我通过使用可用的 downloadToBuffer() 和 write() 函数并增加“偏移量”直到所有字节都被写入,从而实现了这一点。如代码片段所示
此解决方案有效,但对于大文件感觉不是很有效。有没有更好的方法来实现这一点?也许使用流而不必使用循环?