问题标签 [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.

0 投票
1 回答
1212 浏览

ruby-on-rails - Net::SFTP 不断在 resque 中抛出错误

我正在运行 rails 3.1rc4 并在我的 resque 队列中不断遇到此错误消息

uninitialized constant Net::SFTP除了“NameError”

在我的 gemfile 中,我包括:

我包括了 net-scp,以防万一它是一个依赖项。我已经用直红宝石在 Rails 和 redis 外部测试了我的 resque 任务,其中我需要“net/ssh”和“net/sftp”。整个过程完美无缺。然而,同样的 resque 任务不断抛出uninitialized constant Net::SFTP. 当我注释掉 Net::SSH 部分之前的 sftp 部分时,我最终得到了类似的错误。

uninitialized constant Net::SSH

我是否需要更改我的 gemfile 中的某些内容或在我的 resque 类中需要这些 gem?为什么我必须在 ruby​​ 中使用“net/ssh”,而在 rails 的 gemfile 中必须使用“net-ssh”?

提前致谢!

0 投票
1 回答
11388 浏览

ruby - 无法使用带有 Ruby 和 net/ssh 的密钥进行连接

我无法使用 'net-ssh' gem 从 ruby​​ 通过 ssh 连接,获取 Net::SSH::AuthenticationFailed。代码如下

直接从命令行使用 ssh 可以:

我的 ssh API 有错吗?我已尝试将“user@host”和“user”作为用户名,结果相同。

这是调试输出:

谢谢

0 投票
3 回答
2074 浏览

ruby - net-ssh 和远程环境

我想使用 net-ssh 库在我的服务器上执行一些远程命令。

我有以下示例:

结果是:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

我的问题是我的 PATH 没有按应有的方式加载。

我还应该有一些 RVM 路径,以及在我的 .zshrc 中定义的自定义路径。

如何更改此行为以让 net-ssh 使用我的 .zshrc 加载我的默认环境?

解决方案:

0 投票
2 回答
4695 浏览

ruby - 使用 Ruby 和 net-ssh,如何使用带有 Net::SSH.start 的 key_data 参数进行身份验证?

我已经阅读了 net-ssh 文档,但我仍然感到困惑。我可以手动进行身份验证(使用 ssh -i ...),也可以将密钥放在文件中并使用 :keys 参数。但是,我不想使用 :keys 参数,我想使用 :key_data 参数。任何人都可以举一个工作的例子吗?出于某种原因,直接将字符串输入 :key_data 不起作用,它会给出错误:“既不是 PUB key 也不是 PRIV key::nested asn1 错误”。当然,我用谷歌搜索过,它基本上告诉我确保密钥是 PEM 格式。而且,当然是。有任何想法吗?如果需要,我可以提供更详细的信息...

0 投票
1 回答
394 浏览

ruby - 网络 SSH Ruby 身份验证

有人可以解释一下我在 net-ssh 上遇到的这个问题吗?我是 ruby​​ 的新手,正在做这个项目。

如何告诉 net ssh 使用提供的用户名和密码连接到服务器,而无需在我的机器和这些服务器之间拥有共享密钥?

0 投票
1 回答
902 浏览

ruby-on-rails - Net::SSH works from production rails console, AuthenticationFailed from production webapp

I have a rails app where a user can submit a form and it goes off and connects to a remote server via ssh to call a script. Eventually I plan to use delayed_job or something like that but I can't get it to work in production with even a simple test.

The odd thing is, Net::SSH works just fine from the console in production, but it fails with AuthenticationFailed when I submit the form in production. Both the console and the webapp work fine in development.

The error:

Net::SSH::AuthenticationFailed (my_ssh_username):

app/models/branch.rb:69:in `ssh_to_machine'

app/controllers/branches_controller.rb:55:in `update'

Controller's update action:

Method I'm calling, mostly copy/pasted from the Net::SSH api example:

I've tried it with and without :verbose, :keys, :auth_methods; being careful to restart apache each time, but in production it always works from the console (with RAILS_ENV=production exported before calling 'rails c') and never works from the webapp.

I would also welcome any recommendations on how to get enhanced logging when I do call it from the webapp - :verbose worked for me at the console but didn't add anything to my production.log.

0 投票
2 回答
599 浏览

ruby - 如何在同一个 EventMachine 反应器中运行 Net::SSH 和 AMQP?

一些背景知识:Gerrit 通过 SSH 公开事件流。这是一个可爱的技巧,但我需要将这些事件转换为 AMQP 消息。我尝试使用ruby​​-amqpNet::SSH来做到这一点,但是,似乎 AMQP 子组件根本没有运行。

我对 EventMachine 还很陌生。有人可以指出我做错了什么吗?“单个 EventMachine 反应器中的多个服务器”的答案似乎不适用。该程序也可用于更容易访问的要点,它是:

0 投票
2 回答
127 浏览

ruby - 在 Ruby 中编组字符串

我在使用 Capistrano 时遇到了一个错误。我已将错误范围缩小到这行代码:

其中“message”是通过 net-ssh 来自删除服务器的字符串。

所以我正在尝试创建一个重现此错误的单个 .rb 文件。应该很容易......我只是Marshal.dump(message)将它给我的内容复制/粘贴到Marshal.load(...)我的脚本中。

但是当我这样做时,我的单个 .rb 文件可以完美运行。

所以我检查了我的应用程序,当我在 capistrano 中编组并立即解组字符串时,它可以工作。所以有些东西在编组中丢失了,它阻止我可靠地复制错误。

我正在使用 jruby:

put 上的错误

它持续的时间比这更长,但它只是一堆动态方法调用。

该错误还会在puts "#{message}"puts "#{message.strip}"

0 投票
0 回答
751 浏览

ruby-on-rails - Rails 和 net-ssh/sftp

我正在开发一个需要不断连接到 ssh 的应用程序。

每个动作都会在目标主机上打开一个新的 ssh 连接和新的 sftp-server,我想知道是否有解决方案可以在不创建新连接的情况下保持会话 ssh/sftp。

使用 ajax 调用时,我有太多的 sftp-server 守护进程正在运行......(我可以将超时设置为几秒钟,但不能解析常量连接)

试图序列化 ssh 对象但不工作并且在一个问题上看到它是不可能的

提前致谢 !

0 投票
0 回答
292 浏览

ruby - 无法使用 Net::SSH 库创建具有正确权限的文件

我在使用 Net::SSH 库正确设置文件权限时遇到问题。虽然我可以在创建文件后正确设置文件的权限,但我需要文件在它创建的实例中具有正确的权限。我正在连接到一台 Ubuntu 机器,并且 ssh 用户在目录中拥有完全权限。

这是代码的简化版本,说明了它失败的地方。

p>