问题标签 [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 回答
518 浏览

ruby - 如何在 Net::SSH 会话中将 SIGINT 发送到进程 startet?

我使用 Net::SSHv2 连接到服务器并在该服务器上启动脚本。到目前为止它正在工作,但我想在脚本运行超过 10 分钟或输出文件变得太大时中断脚本。收到中断后,脚本将关闭并输出一些统计信息。

我当前的代码如下所示:

我尝试了其他一些方法,为通道打开一个块并请求一个 shell,但它没有用。

0 投票
1 回答
9103 浏览

ruby - ruby net sftp:获取文件列表的最快方法

我正在使用 ruby​​ Net-sftp gem,我需要在下载之前下载大量小文件,我需要确保获取给定目录中的文件列表。
为了做到这一点,我sftp.dir.entries('folder path').size用来获取文件计数列表,但是对超过 10,000 个文件执行此操作需要花费太多时间(甚至数小时)有没有更好的方法来做到这一点?
即使我尝试使用ssh.exec!("ls -l")它也很慢。
我正在尝试连接到 windows server 2008 R2 的 windows box

0 投票
1 回答
649 浏览

ruby - SSH Connections one after another, second one fails

I have code that requires me to connect to one server, rsync to a different server, then connect to the second server and run a bunch of commands on it. But without fail, the second SSH connection throws a 'do_open_failed': open failed (1) (Net::SSH::ChannelOpenFailed) error. Am I doing something wrong here, is there a way to close the first connection properly that makes the second one connect?

0 投票
1 回答
1331 浏览

ruby - 如何将 ruby​​ 变量传递给 Shell 中的 sed 命令?

这是我的代码。我想获取 p 的值并在匹配 1 时将其插入到文件 changed.txt 中。但它没有做我想做的事,似乎不知道 #{p} 是什么

0 投票
0 回答
966 浏览

perl - 在 linux 中安装 net-ssh2

我正在尝试在 linux 服务器中安装 Net-SSH2,它需要很多依赖项。我安装了 libssh2 和 openssl,但仍然抛出以下错误。

有人可以告诉我这里发生了什么吗?

请在下面找到安装日志

0 投票
1 回答
89 浏览

ruby - Net::SSH 似乎没有连接到远程主机

遵循http://net-ssh.github.io/net-ssh/的语法

它打印当前主机名的名称而不是远程主机名。怎么了?

0 投票
0 回答
228 浏览

ruby - 在 Ruby 中使用 Net::SSH 启用 X11 转发

对于某些操作,我需要使用 ssh 进行ssh -X user@host. Ruby 的Net::SSH是否可以使用它(强调-X)?

我目前没有看到任何启用 X11 转发的选项。有什么选择吗?

更新

可在SSH 手册中找到更多信息

-X 启用 X11 转发。这也可以在配置文件中基于每个主机指定。

应谨慎启用 X11 转发。具有绕过远程主机文件权限的用户(对于用户的X授权数据库)可以通过转发连接访问本地X11显示器。然后,攻击者可能能够执行诸如击键监控之类的活动。

因此,X11 转发默认受到 X11 SECURITY 扩展限制。有关更多信息,请参阅 ssh_config(5) 中的ssh -Y 选项和ForwardX11Trusted指令。

背景

本质上,我正在自动化一个过程。用户现在 ssh 进入服务器并使用该-X选项运行一些命令。我被告知该-X选项是一项要求。我已经成功地用来Net::SSH执行命令,但我仍然被告知他们需要提供-X选项。

0 投票
1 回答
877 浏览

ruby-on-rails - Ruby net-ssh wirth proxy 命令导致冻结

我想通过另一台使用 ruby​​ 连接到远程计算机。

该方案如下:

本地 -> 代理 -> 远程

我有这段代码可以直接访问:

但是,当我尝试使用代理时,命令“主机名”被执行并正确,但随后代码冻结,如果我调用 ssh.close 也是如此。

这是代码:

由于 rsa 密钥,登录无需密码即可完成。并且代理命令正在工作(我之前在 bash 中使用过它)

有人会知道我做错了什么吗?

非常感谢您的关注,

编辑:这是日志中的最后一行,它在那里阻塞:

0 投票
1 回答
176 浏览

ruby-on-rails-4 - Listing files of webdirectory with rails 4

Ruby 2.0, Rails 4. I made a site which serves static files. I used

to list static files Now I have to save the files outside the app because the slugsize in Heroku will be too big otherwise

For this reason, i would like a directory listing of a public web folder. (Served by apache server)

I tried: Gemfile:

Controller:

This raised the error:

I never heard of a file called getaddrinfo

The answer on this thread `initialize': No such file or directory - getaddrinfo (Errno::ENOENT) when Rails new app (updating rvm) didnt solve the problem.

Additional info:

0 投票
1 回答
993 浏览

ruby - Ruby SFTP——删除目录

我想使用 sftp 和 ruby​​ 删除一个目录。目前我正在尝试来自 ruby​​ 的 Net-sftp 库的这种方法(rmdir)。

这是我的代码:

但我唯一能想到的是这个错误:

目录不是空的,所以我必须递归地一个一个地删除它们,或者有没有办法在一个命令中实现?

编辑

我可以设法删除目录。我需要完成两个发现:

  1. 目录必须为空
  2. /\.|\.\./需要/^(\.|\.\.)$/,否则文件也被排除在外,因此目录永远不会为空。

但是在删除之前遍历所有目录很慢,那么,有没有更快的方法?