Tag: net ssh

‘没有这样的文件来加载 – net / ssh’来自Ubuntu上的rails Controller

我有一个非常简单的控制器: require ‘net/ssh’ class MyController ‘bar’ end end 但当我请求http:// server:3000 / my / foo时,我得到: MissingSourceFile in MyController#foo no such file to load — net/ssh gem已安装 > gem list net-ssh *** LOCAL GEMS *** net-ssh (2.0.11) 另外,我尝试在IRB中使用’net / ssh’,它可以工作。 MyController在Windows上工作正常,但在Ubuntu上失败。 有什么不对?

在rails应用程序的前端获取实时日志

在rails 3.x应用程序中,我使用net :: ssh并运行一些命令到远程pc。我想将实时日志显示给用户的browser.like,如果两个命令在net :: ssh中运行执行即echo “Hello” , echo “Bye”传递然后“Hello”应该在浏览器中显示,并在执行后立即完成。这是我用于ssh连接的代码,并在ruby on rails应用程序中运行命令 Net::SSH.start( @servers[‘local’] , @machine_name, :password => @machine_pwd, :timeout => 30) do |ssh| ssh.open_channel do |channel| channel.request_pty channel.exec(“echo ‘ssh started'”) channel.exec(“ruby -v”) channel.exec(“rails -v”) channel.exec(“echo ‘ssh Finished'”) channel.on_close do |ch| puts “****shell terminated****” end channel.on_eof do |ch| puts “****remote end is done sending data****” […]

如何在ruby中将文件从文件读入数组

有没有办法将net-ssh gem中的HOST,USER,PASS varibales视为一个数组,并为它们提供多个值? 我目前有一个带有HOST,USER和PASS值的外部文本文件,但我需要将这些传递给net-ssh gem中的上述变量。 任何帮助和编辑澄清这个问题表示赞赏! 🙂

Net-ssh会话超时

我正在使用Net-ssh来启动远程Python脚本。 当Python脚本需要很长时间(大约20分钟)时,Ruby脚本似乎挂起并且永远不会完成。 我已经通过直接运行脚本来测试脚本,它完成没有任何错误。 当脚本在较短的时间内执行时,一切正常。 这是我正在使用的代码的摘录: (0..(@number_of_vms – 1)).each_with_index do |vm, i| threads << Thread.new do Net::SSH.start('ip-address-vm', user, options = …) do |session| cmd = 'python python_script.py' output = session.exec!(cmd) end end end threads.each {|thr| thr.join } 这可能与ssh会话的某种超时有关吗? 编辑:我已validation脚本已在远程服务器上成功完成。

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

我正在尝试使用net-ssh-multi在一组服务器上运行命令。 对于此taks,ssh-key身份validation不是一个选项; 必须将密码传递给session.use行中定义的每个服务器。 这是问题,’net / ssh’可以采用密码参数,但’net / ssh / multi’不能。 我想做的是像这样: require ‘net/ssh’ require ‘net/ssh/multi’ #The necessary data is contained in a Ticket object my_ticket = Ticket.new Net::SSH::Multi.start (:password => ‘xxxx’) do |session| # define the servers we want to use my_ticket.servers.each do |serv_id| session.use “#{my_ticket.user_name}@#{serv_id}” end # execute commands on all servers session.exec “uptime” […]

Net :: SSH适用于生产rails控制台,AuthenticationFailed来自生产webapp

我有一个rails应用程序,用户可以在其中提交表单,然后通过ssh连接到远程服务器以调用脚本。 最终我打算使用delayed_job或类似的东西,但即使是一个简单的测试我也无法让它在生产中工作。 奇怪的是,Net :: SSH在生产环境中从控制台运行得很好,但是当我在生产环境中提交表单时,它失败了。 控制台和webapp都可以在开发中正常运行。 错误: Net :: SSH :: AuthenticationFailed(my_ssh_username): app / models / branch.rb:69:在`ssh_to_machine’中 app / controllers / branches_controller.rb:55:在`update’中 控制器的更新动作: def update @branch = Branch.find(params[:id]) if @branch.update_attributes(params[:branch]) @branch.ssh_to_machine(@branch.hostname, @branch.user_name, @branch.command_to_run) redirect_to @branch, :notice => “Update request now processing.” else render :action => ‘edit’ end end 方法我正在调用,主要是从Net :: SSH api示例中复制/粘贴: def ssh_to_machine(host_name, user_name, […]

Ruby Net:SSH控制大师?

我目前有一个Ruby(Rails)应用程序,需要进行大量的短SSH连接。 这可以使用Ruby Net :: SSH库正常工作,除了应用程序每次我想要发出命令时都必须登录并协商密钥,这太慢了。 有没有办法用Ruby Net :: SSH启用Control Master? 在命令行测试中,这使得登录(在第一个之后)非常快,因为连接已经打开(密钥被协商等)。 如果Net :: SSH无法做到这一点,那么有人可以建议一个可以做到的替代库吗? 我想这必须是一个共同的要求,所以希望有人可以提供帮助。 谢谢!

无法使用Ruby和net / ssh连接密钥

我无法使用’net-ssh’gem通过ssh从ruby连接,获得Net :: SSH :: AuthenticationFailed。 代码如下 require ‘net/ssh’ keys = [“path_to_private_key”] Net::SSH.start(‘host’, ‘user’,:keys => keys, :verbose => :debug) do |ssh| #ssh code end 直接从命令行使用ssh: ssh -i user@host 我的ssh API有错吗? 我尝试了’user @ host’和’user’作为用户名,结果相同。 这是调试输出: D, [2011-07-26T19:42:00.135148 #3511] DEBUG — net.ssh.transport.session[140b040]: establishing connection to host:22 D, [2011-07-26T19:42:00.164190 #3511] DEBUG — net.ssh.transport.session[140b040]: connection established I, [2011-07-26T19:42:00.164344 #3511] INFO […]

ruby net-ssh登录shell

有什么办法可以使用net-ssh在ruby中获取登录shell吗? 这有可能吗? 通过登录shell我的意思是源/ etc / profile ..

Ruby on rails – 无法加载这样的文件–net / ssh

我已经在这几天挣扎了…… 当我尝试从视图中调用帮助器中的方法来执行ssh时,它会抛出该错误。 “加载以下文件时发生此错误:net / ssh” 但是当我将代码复制到test.rb文件并从提示ruby test.rb执行它时,它完美连接。 可能是什么问题呢 ? 我尝试了另一台计算机和相同的结果。 非常感谢,这就像我完成项目之前的最后一步! 问候, application_helper.rb : module ApplicationHelper def title(value) unless value.nil? @title = “#{value} | Eucc” end end def execute require ‘rubygems’ require ‘net/ssh’ @hostname = “smtlmon02” @username = “gcaille” @password = “qaz1234” @cmd = “ls -al” @cmd2 = “sudo su – -c ‘ls;date'” ssh = […]