问题标签 [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 投票
2 回答
2060 浏览

ruby - 无法通过 net/ssh 连接远程主机

这很奇怪。我在主机上添加了我的公钥。我可以简单地运行

它只是打开远程外壳。我什至可以在同一台机器上运行我的 capistrano 脚本进行部署。但是当我尝试连接下面这个简单的 ruby​​ 脚本时

它立即拒绝,但有以下例外:

我在这里有什么遗漏吗?

感谢你的帮助。

0 投票
2 回答
971 浏览

ruby-on-rails - 在 rails 中存储 ssh 连接

我有一个 Rails 应用程序需要通过 ssh 与几台服务器通信。我正在使用Net::SSH库,效果很好。但是,我希望能够在请求之间以某种方式缓存/存储 ssh 连接(类似于 OpenSSH 多路复用)。

所以,我不能将它们存储在像 Memcached 或 Redis 这样的键值存储中(因为 ssh 连接不可序列化)。

我不想将它们存储在会话中,因为它们旨在供所有用户使用(此外我认为它也需要可序列化)。

我设法让它与类变量初始化常量一起工作。我知道类变量不会在服务器之间复制(在生产中),而且我很确定初始化常量也不会。就像是:

初始化器:

模型:

OpenSSH多路复用会很棒,但我不确定我是否可以通过 Net::SSH ruby​​ 库来做到这一点(我回到将主连接存储在某处)。

还有其他解决方案吗?或者如果不是,哪一个是最不邪恶的?

0 投票
1 回答
760 浏览

ruby - net-ssh 和 ActiveRecord 3:将它们结合在一起

我正在开发一个小型 Rub​​y 程序,该程序将连接到远程 MySQL Bugzilla 数据库,执行记录查询,并每天将这些记录的详细信息通过电子邮件发送给一个组。

到目前为止,我已经能够通过 SSH 连接到数据库服务器并使用 net-ssh 执行命令。这是一个例子:

那输出就好了。

使用 ActiveRecord 3.0.3,我想测试该establish_connection方法,因此我建立了与本地 MySQL 数据库的连接,并且能够使用 ActiveRecord 执行命令。例子:

所以,我遇到麻烦的地方是将它们整合在一起并将其应用到我的远程 MySQL 数据库中。到目前为止,这是我最好的尝试:

但所做的只是让我的 IRB 会话挂起(这可能是完全正常的......不知道)。如果挂起正常的,我打开了一个新的 IRB 会话并尝试建立与远程数据库的连接,如下所示:

所以,我不知道出了什么问题或如何对其进行调试。任何和所有建议都会有所帮助。

我在 Mac OSX 上。我尝试连接的数据库位于 FreeBSD 7.0 上,并且是 MySQL 版本 Ver 14.12 Distrib 5.0.67。

0 投票
2 回答
4426 浏览

ruby - ruby net-ssh 登录shell

有什么方法可以使用 net-ssh 在 ruby​​ 中获取登录 shell?这甚至可能吗?

通过登录外壳,我的意思是源 /etc/profile..

0 投票
3 回答
10178 浏览

ruby - 在没有 ssh-keygen 的情况下生成 SSH 密钥对(私有/公共)

我正在开发一个需要生成 SSH 密钥对的 Ruby/Rack 应用程序。尽管我想ssh-keygen从应用程序中调用,但我不能,因为它是为在 Heroku 上运行而设计的,并且它们不支持调用该命令。

我已经能够在 Ruby 标准库中使用 OpenSSL 获取私有/公共 RSA 密钥,执行以下操作:

不幸的是,RSA 公钥和 SSH 公钥不是一回事,即使它们可以从同一个 RSA 密钥生成。SSH 公钥如下所示:

是否可以在不使用 Ruby 的情况下生成 SSH 密钥或将 RSA 密钥转换为 SSH ssh-keygen

0 投票
1 回答
1074 浏览

ruby - Net::SSH 连接失败

我编写了一个 ruby​​ 脚本来在远程主机上做一些工作。从带有 10.6 的 Mac 运行它。该 IP 可与手动 ssh -l devacct 10.10.10.10 一起正常工作,但如您所见,它在脚本中失败。

严重失败:

有任何想法吗?:)

亲切的问候

0 投票
4 回答
1432 浏览

ruby - 如何通过 SSH 连接到服务器,然后从那里 SFTP 到另一台服务器?

情况如下:

我可以通过 SSH 访问 ServerA

我有对 ServerB 的 SFTP 访问权限,但只能从 ServerA

我想使用 Ruby SSH 到 ServerA,然后从 ServerB 到 ServerA 的 SFTP 文件。

我可以使用 Net::SSH 中的文档连接到 ServerA:

我想不通的是如何从 ServerA 的上下文 SFTP 到 ServerB?

0 投票
5 回答
41157 浏览

perl - 安装 Net/SSH/Perl.pm

我对使用 perl 编写脚本相当陌生。我正在尝试 ssh 进入服务器并执行一些命令。我必须提供用户名和密码。

尝试运行我目前拥有的脚本时(下面列出的代码)。我收到以下错误。

我假设这意味着我需要安装/制作 Net/SSH/Perl.pm,但是,当我按照我在网上找到的说明和教程进行操作时,没有一个有效。

有人可以帮助我吗?我试过CPANand ppmCPAN说它找不到net::ssh::perl该字符串或该字符串的其他变体。ppm甚至不会运行,我在我的 perl 目录中看不到它。任何帮助是极大的赞赏!



0 投票
1 回答
1386 浏览

ruby - Ruby net-ssh-multi:在运行时将密码作为参数传递

我正在尝试使用 net-ssh-multi 在一组服务器上运行命令。对于这个任务,ssh-key 身份验证不是一个选项;必须将密码传递给 session.use 行中定义的每个服务器。问题来了,“net/ssh”可以带密码参数,但“net/ssh/multi”不能。我想做的是这样的事情:

但是,这让我:

file.rb:35:in `start': 来自 file.rb:35 的参数数量错误(1 对 2)(ArgumentError)

我知道这是一个有点 n00b 的问题,但我真的很感激一些帮助。

(http://rubydoc.info/gems/net-ssh-multi/1.1/Net/SSH/Multi)

0 投票
3 回答
5223 浏览

ruby - 使用 ruby​​ gem net-ssh-multi 一次在多个服务器上执行 sudo 命令

上一个问题 中,我想出了如何在多台服务器上启动密码验证的 ssh 会话以运行单个命令。现在我需要能够执行“sudo”命令。问题是,net-ssh-multi 没有分配 sudo 需要运行的伪终端(pty),导致以下错误:

[127.0.0.1 : stderr] sudo: 抱歉,你必须有一个 tty 才能运行 sudo

根据文档,可以通过对通道对象的方法调用来分配伪终端,但是,以下代码不起作用:它会生成上面的“no tty”错误:

$红宝石--版本

ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin]