问题标签 [net-ssh]
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.
ruby-on-rails - Ruby Net:SSH 控制大师?
我目前有一个 Ruby (Rails) 应用程序,它需要建立很多短 SSH 连接。使用 Ruby Net::SSH 库可以正常工作,只是应用程序必须在每次我想发出命令时登录并协商密钥,这太慢了。
有没有办法使用 Ruby Net::SSH 启用 Control Master?在命令行上的测试中,这使得登录(在第一个之后)非常快,因为连接已经打开(协商密钥等)。
如果没有办法用 Net::SSH 做到这一点,任何人都可以建议一个可以做到这一点的替代库吗?
我想这一定是一个常见的要求,所以希望有人能提供帮助。
谢谢!
ruby - 使用 `authorized_keys` 与没有用户名的 Ruby 建立 SSH 连接
我已经使用authorized_keys
push 对服务器进行了身份验证,因此我可以ssh 192.168.1.101
从我的系统运行命令并可以通过服务器连接。
现在,我尝试了 library ,它对我不起作用
如,这是必需的用户名字段。我想要没有用户名。
所以,我试过这个
它为我运行命令。但我想要像@output
第一个示例中那样的变量中的输出。是否有任何命令或任何方式可以让我获得解决方案?
ruby-on-rails-3 - 使用 ruby gem net-ssh 配置 Juniper 路由器
我希望能够使用 ruby net-ssh gem 来更改 Juniper M10i 路由器。但是,发送“配置”后,我无法发送任何配置命令。
例如,通过 ssh 登录到路由器后,我想发出以下三个命令:
使用 net-ssh 库,我尝试了以下操作但没有成功:
执行后,我得到以下输出:
那么如何在“configure”之后正确传递“show system”命令呢?
解决了:
我偶然发现了以下帖子:https ://stackoverflow.com/a/6807178/152852
ruby - 通过 Net:SSH 出现“非绝对家”错误
有问题的代码
这将返回“非绝对的家”。“用户”实际上确实有一个主目录。一种建议的方法是使用 IdentityFile 的完整路径修改 ~/.ssh/config。这并没有解决问题。
最疯狂的部分是,如果通过 irb 或控制台调用,代码可以正常工作。当我们尝试从类方法(使用相同的代码)中调用它时,它会返回“非绝对主页”错误。
“用户”也可以毫无问题地通过命令行 ssh 进入服务器。服务器正在运行 Ubuntu。
更新
感谢@Phrogz - 解决此问题的方法是将 ENV['HOME'] 设置为 '/home/deploy'。但是,我还没有弄清楚为什么 $HOME 被设置为“。” 在服务器上。所以,在我或其他人弄明白之前,我会在没有“答案”的情况下留下这个问题。不得不手动设置 HOME 感觉更像是“黑客”而不是正确的解决方案,但它确实有效。
ruby - Net::SSH.exec 命令返回的数据是否有大小限制
我正在尝试使用以下代码列出远程机器的文件。
如果文件数量很大,则从 exec 命令返回的数据将被截断,并且只返回文件的部分列表。在我看来,有一个大小限制。任何人都知道我可以如何增加它?
ruby-on-rails - 无法加载此类文件 -- net/ssh/authentication/agent/socket (LoadError)
如果我跑rails s
宝石文件
前一秒有效,下一秒无效。
在我尝试按照本指南修复 CKeditor 集成后,我停止了工作: https ://github.com/galetahub/ckeditor
更新
发生此错误是因为我正在使用 Capistrano 并且该 gem 需要net-ssh
. net-ssh
gem 从 2.4 -> 2.5.0 更新,这导致了问题。
更新了我的 Gemfile:
然后跑了$ gem update net-ssh
rails s 命令的错误消失了。尚未使用 Capistrano 进行部署,因此无法确定使用部署是否存在错误。
更新 2
Capistrano 未能部署,所以这搞砸了。使用时,cap deploy
我收到您在帖子开头看到的错误消息。
更新 3
升级net-ssh
到,2.5.1
因为在评论中有人提到2.5.0
的被破坏了。升级后需求问题得到解决,但是 Capistrano 仍然不会部署。
更新 4(加上解决方法)
在下面的评论中发布了解决方法。
- 将您的 net-ssh 版本保持在 2.5.1
- 在使用 Capistrano 进行部署之前,请从 ~/.ssh/known_hosts 文件中删除与您的服务器相关的行
- 您现在可以部署一次。在每次部署之前重复。
ruby - 设置 net-ssh 连接时出现 SUPPORTED_TYPE 错误
有没有人以前见过这个错误?我无法在源代码中找到对 SUPPORTED_TYPE 的任何引用...
8/gems/net-ssh-2.5.1/lib/net/ssh/known_hosts.rb:33:in 'map' 来自 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/ lib/net/ssh/known_hosts.rb:33:in `search_in' from /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/lib/net/ssh/known_hosts.rb:27:在 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/lib/net/ssh/transport/algorithms.rb:237 的“search_for”中:在“prepare_preferred_algorithms!”中 来自 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/lib/net/ssh/transport/algorithms.rb:120:in 'initialize' from /usr/lib/ruby/gems/ 1.8/gems/net-ssh-2.5.1/lib/net/ssh/transport/session.rb:79:在 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5 的“新”中。 1/lib/net/ssh/transport/session.rb:79:在 /usr/lib/ruby/gems/1.8/gems/net-ssh-2.5.1/lib/net/ssh.rb 的“初始化”中: 186:在 /usr/lib/ruby/gems/1 的“新”中。
ruby - Ruby Net-SSH-Shell 从执行中获得标准!方法
如何从.execute
Net-SSH-Shell 中的方法获取标准输出
使用好的 'ol Net-SSH,这很容易
给我Tue Jun 19 23:43:53 EDT 2012
但是如果我尝试使用外壳,我会得到一个进程对象
给我#<Net::SSH::Shell::Process:0x007fc809b541d0>
我在稀疏文档中找不到任何关于如何轻松获得标准的内容。有方法,但是如果我使用该方法on_output
,那似乎对我没有任何作用execute!
我也试过传递一个块来.execute!
喜欢
但我仍然得到一个过程#<Net::SSH::Shell::Process:0x007fc809b541d0>
我需要一个可以使用的变量中的标准输出,并且我需要一个实际的有状态登录 shell,据我所知,准系统 Net-SSH 并没有这样做。
有任何想法吗?
编辑
按照@vikhyat的建议的相同想法,我尝试了
但是b
总是空的,即使我知道命令返回结果。
ruby - Calling scp from net:ssh
Here's the setup:
I have server A, which is running my ruby scripts and servers B & C. I need to be able to transfer files from B to C.
I've experimented with using Net:SCP, but I haven't found a way to set up a transfer between the two remote servers. The best I've been able to do was go from B to A and then from A to C.
Based on some example code I've seen elsewhere, I'm trying to ssh onto B and call scp from that server:
This is not working for me. Is this even possible?
ruby-on-rails - ruby on rails net ssh strickhostkeychecking=no
嗨,我net:ssh
在controller
. 我可能会host name
在建立连接时动态更改。但是当它第一次登录时,shell 可能会询问是否连接。由于我通过网络连接到它,我看不到任何弹出窗口询问我。因此,我阅读了
https://groups.google.com/group/comp.lang.tcl/browse_thread/thread/ca0cd6ec905eb702
并且我想"-oStrictHostKeyChecking=no"
在连接到主机时添加此标签。正如我们所知,以下是 rails 中 net::ssh 的标准格式
建立连接时我会在哪里传递这个额外的参数"-oStrictHostKeyChecking=no"
?
我已经试过了
但它不起作用。请帮忙