问题标签 [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 - 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”?
提前致谢!
ruby - 无法使用带有 Ruby 和 net/ssh 的密钥进行连接
我无法使用 'net-ssh' gem 从 ruby 通过 ssh 连接,获取 Net::SSH::AuthenticationFailed。代码如下
直接从命令行使用 ssh 可以:
我的 ssh API 有错吗?我已尝试将“user@host”和“user”作为用户名,结果相同。
这是调试输出:
谢谢
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 加载我的默认环境?
解决方案:
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 格式。而且,当然是。有任何想法吗?如果需要,我可以提供更详细的信息...
ruby - 网络 SSH Ruby 身份验证
有人可以解释一下我在 net-ssh 上遇到的这个问题吗?我是 ruby 的新手,正在做这个项目。
如何告诉 net ssh 使用提供的用户名和密码连接到服务器,而无需在我的机器和这些服务器之间拥有共享密钥?
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.
ruby - 如何在同一个 EventMachine 反应器中运行 Net::SSH 和 AMQP?
一些背景知识:Gerrit 通过 SSH 公开事件流。这是一个可爱的技巧,但我需要将这些事件转换为 AMQP 消息。我尝试使用ruby-amqp和Net::SSH来做到这一点,但是,似乎 AMQP 子组件根本没有运行。
我对 EventMachine 还很陌生。有人可以指出我做错了什么吗?“单个 EventMachine 反应器中的多个服务器”的答案似乎不适用。该程序也可用于更容易访问的要点,它是:
ruby - 在 Ruby 中编组字符串
我在使用 Capistrano 时遇到了一个错误。我已将错误范围缩小到这行代码:
其中“message”是通过 net-ssh 来自删除服务器的字符串。
所以我正在尝试创建一个重现此错误的单个 .rb 文件。应该很容易......我只是Marshal.dump(message)
将它给我的内容复制/粘贴到Marshal.load(...)
我的脚本中。
但是当我这样做时,我的单个 .rb 文件可以完美运行。
所以我检查了我的应用程序,当我在 capistrano 中编组并立即解组字符串时,它可以工作。所以有些东西在编组中丢失了,它阻止我可靠地复制错误。
我正在使用 jruby:
put 上的错误
它持续的时间比这更长,但它只是一堆动态方法调用。
该错误还会在puts "#{message}"
和puts "#{message.strip}"
ruby-on-rails - Rails 和 net-ssh/sftp
我正在开发一个需要不断连接到 ssh 的应用程序。
每个动作都会在目标主机上打开一个新的 ssh 连接和新的 sftp-server,我想知道是否有解决方案可以在不创建新连接的情况下保持会话 ssh/sftp。
使用 ajax 调用时,我有太多的 sftp-server 守护进程正在运行......(我可以将超时设置为几秒钟,但不能解析常量连接)
试图序列化 ssh 对象但不工作并且在一个问题上看到它是不可能的
提前致谢 !
ruby - 无法使用 Net::SSH 库创建具有正确权限的文件
我在使用 Net::SSH 库正确设置文件权限时遇到问题。虽然我可以在创建文件后正确设置文件的权限,但我需要文件在它创建的实例中具有正确的权限。我正在连接到一台 Ubuntu 机器,并且 ssh 用户在目录中拥有完全权限。
这是代码的简化版本,说明了它失败的地方。
p>