问题标签 [net-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 回答
274 浏览

ruby - Ruby and Net::SFTP:为什么我不能把它移到一个单独的函数中?

编写一个通过 SFTP 检查服务器上是否存在文件的函数。

我写了一个有效的函数sftp_file_exists_1?。现在我想将此函数拆分为两个函数,令我惊讶的是,这不起作用。

我期望:

因为文件repos实际上存在于服务器上。但是,我得到(缩写):

附录:这有效:

0 投票
1 回答
1588 浏览

ruby-on-rails - 未定义的方法 'e=' 用于#

我正在尝试使用 net/sftp gem 从 Heroku 的 SFTP To Go 下载文件,但我总是得到未定义的方法 `e=' for #.

一直在网上搜索,但找不到任何相关的解决方案。这是我的代码:

错误: #< OpenSSL::PKey::RSA:0x00563aaff72138> 的未定义方法 `e=' 您的意思是?e**********

“/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/buffer.rb:255:in read_keyblob'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/buffer.rb:239:inread_key' ", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/known_hosts.rb:145:in block (2 levels) in keys_for'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/known_hosts.rb:127:ineach_line'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/known_hosts.rb:127 :in block in keys_for'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/known_hosts.rb:125:inopen'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/known_hosts.rb :125:in keys_for'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/known_hosts.rb:55:inblock in search_in'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh /known_hosts.rb:55:in map'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/known_hosts.rb:55:insearch_in'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net /ssh/known_hosts.rb:49:insearch_for'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:96:inhost_keys'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/algorithms.rb :251:in prepare_preferred_algorithms!'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/algorithms.rb:124:ininitialize'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport /session.rb:86:in new'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh/transport/session.rb:86:ininitialize'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net /ssh.rb:232:in new'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-ssh-3.2.0/lib/net/ssh.rb:232:instart'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/net-sftp-2.1.2/lib/net /sftp.rb:31:in start'", "/home/romz/Desktop/Romz/site/ROR/recoverysuite/lib/tasks/scheduler.rake:376:inblock (2 levels) in '", "/home/romz/Desktop/Romz/site/ROR/recoverysuite/lib/tasks/scheduler.rake:353:in each'", "/home/romz/Desktop/Romz/site/ROR/recoverysuite/lib/tasks/scheduler.rake:353:inblock in '", " /home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/task.rb:248:inblock in execute'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/task.rb:243:in每个'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/task.rb:243:inexecute'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/task.rb:187:in块invoke_with_call_chain'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/2.4.0/monitor.rb:214:in mon_synchronize'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/task.rb:180:ininvoke_with_call_chain'", "/home/romz/.rbenv/versions/2.4 .0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/task.rb:173:in invoke'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:152:ininvoke_task'", "/home/romz/.rbenv/versions/2.4.0 /lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:108:in block (2 levels) in top_level'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:108:ineach'", "/home/romz/.rbenv/versions/2.4.0/lib /ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:108:in block in top_level'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:117:inrun_with_threads'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby /gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:102:intop_level'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:80:in阻止运行'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:178:instandard_exception_handling'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/lib/rake/application.rb:77:in运行'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/rake-11.3.0/exe/rake:27:in <top (required)>'", "/home/romz/.rbenv/versions/2.4.0/bin/rake:23:inload'", "/ home/romz/.rbenv/versions/2.4.0/bin/rake:23:in <top (required)>'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/lib/bundler/cli/exec.rb:74:inload'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems /bundler-2.0.1/lib/bundler/cli/exec.rb:74:in kernel_load'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/lib/bundler/cli/exec.rb:28:inrun'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems /bundler-2.0.1/lib/bundler/cli.rb:463:in exec'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:inrun'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler -2.0.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor.rb:387:indispatch'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4 .0/gems/bundler-2.0.1/lib/bundler/cli.rb:27:indispatch'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/lib/bundler/vendor/thor/lib/thor/base.rb:466:in开始'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/lib/bundler/cli.rb:18:instart'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/exe/bundle:30:in块'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/lib/bundler/friendly_errors.rb:124:in with_friendly_errors'", "/home/romz/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/bundler-2.0.1/exe/bundle:22:in'", “/home/romz/.rbenv/versions/2.4.0/bin/bundle:23:in load'", "/home/romz/.rbenv/versions/2.4.0/bin/bundle:23:in'”


RUBY_VERSION => "2.4.0"

OpenSSL::OPENSSL_VERSION => "OpenSSL 1.1.0g 2017 年 11 月 2 日"

OpenSSL::VERSION => "2.0.2"

rails --version => Rails 5.0.7.1

0 投票
1 回答
1140 浏览

ruby - 如何代理 net-sftp?

我正在使用net-sftp它依赖于net-ssh宝石。

我正在尝试通过 SFTP 连接到远程日志服务,它需要 IP 白名单。我目前所有的服务器都有动态 IP。

我正在尝试在 Google Cloud 中设置静态、安全的代理服务器。我不太了解所有代理类型之间的所有差异,但 net-ssh 似乎支持...

  • 袜子4
  • 袜子5
  • “跳转”代理

我研究过使用 Dante 设置 socks5 代理,但只是通过它中继 SFTP 连接似乎有点矫枉过正,更不用说我认为它以纯文本形式发送密码。

我将如何以最简单的方式通过某些服务器代理 net-sftp?

0 投票
1 回答
545 浏览

ruby-on-rails - 如何在 ruby​​ on rails 中的 Net::sftp 中使用 PRIVATE RSA 密钥文件

我正在尝试与我的 azure 存储建立 sftp 连接。我有一个以开头的私钥文件

使用此 private_key,我尝试建立连接,例如

当我尝试使用这个密钥文件时,我遇到了一个异常

但是,当我使用以以下格式开头的密钥文件时

一切正常。

但我想使用新的私钥。这段代码会有什么问题?有没有办法指定要使用的私钥文件的类型?

0 投票
1 回答
745 浏览

ruby-on-rails - Rails Net::SFTP - 有没有办法使用 FTP 连接(而不是 sFTP)?

我们在系统中构建了一个非常复杂的插件,它使用Net::SFTP gem 连接到远程服务器。一切正常。

但是,我们的一位新客户出现并为我们准备了一台服务器,我们只能使用 FTP 而不是 sFTP 登录。

有没有关于如何使用这个 gem 通过 FTP 协议连接到服务器的解决方法?我们的客户可能会考虑添加对 sFTP 的访问权限。但是,如果此选项失败,我们将需要自行管理它。

0 投票
1 回答
215 浏览

ruby - 使用 Net::Sftp 上传文件后,文件有时会消失

我使用net-sftp gem 将文件上传到远程服务器。

有时它可以工作并且文件保留在远程 sftp 服务器上。有时它会被下载并很快消失(一两秒后)。我可以通过并行使用 FileZilla 来查看它。

有时一个文件可以从第一次尝试成功上传,有时从第二次或第三次上传等。如果我手动使用 FileZilla 或从终端使用 sftp,那么一切正常。成功尝试的调试日志似乎与否相同。没有日志条目指示错误。

宝石版本:

  • 网络 SSH (5.2.0)

  • 网络 sftp (2.1.2)

对于这个问题的任何想法,我将不胜感激。

0 投票
1 回答
241 浏览

php - 任何文件获取的 phpseclib 文件错误结束

NET_SFTP_STATUS_EOF: End of file对于使用 phpseclib 从特定 SFTP 服务器下载的任何文件,我都会收到错误消息。尽管我认为它没有任何解决方案,但在这里提出了类似的问题。

奇怪的是,所有文件似乎都正确导入并具有相同的文件大小,但是,仍然会产生错误,这让我有点担心,因为正确导入这些文件至关重要。

我正在使用最新版本的 phpseclib 和 PHP 7.3。我已经附加了我要在此处下载的文件(似乎可以正确下载但会产生此错误)以及使用define('NET_SSH2_LOGGING', 3) 此处的 SFTP 转储。

任何有关为什么 phpseclib 产生此错误的帮助将不胜感激。

0 投票
1 回答
30 浏览

c# - 通过 SftpClient 下载后,某些大的“.xlsx”扩展文件无法打开

我正在尝试使用 SftpClient 将文件从远程 linux 服务器下载到本地计算机。

这是我下载文件的代码

这是调用上述方法的控制器。

我已经设法对大多数文件执行此操作,但是对于某些大型“.xlsx”扩展文件,当我尝试打开它时,由于某种原因,我收到了以下错误。

在此处输入图像描述

如果我在 IISExpress 上,单击“是”按钮后仍然可以打开它,但如果我使用的是普通 IIS,单击“是”按钮后无法打开文件。

对于其他类型的文件或较小的 excel 文件,它可以按预期工作。

知道如何修改我的代码来解决这个问题吗?

0 投票
0 回答
63 浏览

ruby-on-rails - 如何进行批量 SFTP 传输?

背景:我有大约。要通过 SFTP 传输的 20K 文件。
我怀疑如果我在单个会话中发送它们,那么会话可能会中途终止。
我尝试搜索超时,但我发现空闲会话超时。

所以我试图搜索是否有类似批量传输的东西,我可以批量传输500个文件。在每批之后,将开始一个新的会话。
我正在使用 Ruby 的Net::SFTP

我目前的代码是

我试过什么?
如果存在一些批处理选项,我尝试在文档或某些博客中进行搜索。

如果没有这样的选择,那么我打算按如下方式处理

0 投票
1 回答
216 浏览

ruby-on-rails - 如何使用 Net::SFTP (Ruby) 创建嵌套目录

我正在尝试一次创建多个目录。目前,sftp.mkdir! path一次只创建一个目录级别。例如,我可以创建/test,然后必须创建另一个目录/test/secure_token等等。有没有一种方法可以/test/secure_token在一次调用而不是两次调用中创建?