所以我尝试使用gems在mac上安装net :: ssh :: multi:
gems install net-ssh-multi
Run Code Online (Sandbox Code Playgroud)
安装顺利,但是当我输入时:
require 'net/ssh/multi'
Run Code Online (Sandbox Code Playgroud)
它说加载错误.我不知道我在做什么错了!
我正在使用 ruby Net-sftp gem,在下载之前我需要下载大量小文件,我需要确保获取给定目录中的文件列表。
为了做到这一点,我使用sftp.dir.entries('folder path').size获取文件计数列表,但对超过 10,000 个文件执行此操作花费了太多时间(甚至数小时),是否有更好的方法来执行此操作?
即使我尝试使用ssh.exec!("ls -l")这个也很慢。
我正在尝试连接到 windows box,即 windows server 2008 R2
据我所知,如果要将文件复制到远程主机,然后从命令行进行操作,则需要同时使用Net :: SCP和Net :: SSH。
最好建立一个SSH会话,进行复制,然后使用相同的连接来解压缩文件并安装它们。
我想念什么吗?
我正在使用 Ubuntu 22 和 OpenSSL 3
当我尝试使用私钥进行连接时,Ruby 的 Net/SSH 就不再工作。
Net::SSH.start X.X.X.X, "root"
/.rvm/gems/ruby-3.1.2/gems/net-ssh-7.0.1/lib/net/ssh/authentication/key_manager.rb:168:in `rescue in sign': the given identity is known, but the private key could not be loaded: OpenSSL::PKey::PKeyError (rsa#set_key= is incompatible with OpenSSL 3.0) (Net::SSH::Authentication::KeyManagerError)
/.rvm/gems/ruby-3.1.2/gems/net-ssh-7.0.1/lib/net/ssh/buffer.rb:266:in `set_key': rsa#set_key= is incompatible with OpenSSL 3.0 (OpenSSL::PKey::PKeyError)
Run Code Online (Sandbox Code Playgroud)
我还没有找到任何有用的东西来解决这个问题。只要我使用密码连接,这似乎就可以工作,但是一旦我使用 PEM 密钥,这就会失败。
我在用着:
自从我的Rails(2.3.17)应用程序升级到Ruby 1.9.3后,我丢失了这个ssh.sftp.upload!方法,所以我正在尝试使用net-scp库,但是我似乎无法在Rails中使用它.然而,irb我可以要求文件正常,只是不在rails控制台.
me@app:~/myapp$ script/console myapp
Loading myapp environment (Rails 2.3.17)
>> require 'net/scp'
MissingSourceFile: cannot load such file -- net/scp
from /path/to/myapp/shared/bundle/ruby/1.9.1/gems/activesupport-2.3.17/lib/active_support/dependencies.rb:184:in `require'
from /path/to/myapp/shared/bundle/ruby/1.9.1/gems/activesupport-2.3.17/lib/active_support/dependencies.rb:184:in `require'
from (irb):1
from /home/me/.rvm/rubies/ruby-1.9.3-p448/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud)
但这似乎有效:
>> require 'net/ssh'
=> false
Run Code Online (Sandbox Code Playgroud)
这是我的相关内容 Gemfile.lock
$ cat Gemfile.lock | grep "net-scp" -n5
30- nokogiri (>= 1.4.4)
31- uuidtools (~> 2.1)
32- builder (2.1.2)
33- capistrano (2.14.2)
34- highline
35: net-scp (>= 1.0.0)
36- net-sftp (>= 2.0.0)
37- net-ssh (>= 2.0.14)
38- net-ssh-gateway …Run Code Online (Sandbox Code Playgroud)