diff options
| author | ytti <saku@ytti.fi> | 2016-01-21 11:55:09 +0200 | 
|---|---|---|
| committer | ytti <saku@ytti.fi> | 2016-01-21 11:55:09 +0200 | 
| commit | 421ae43ee9546ca0b1c45a9eaf6daa769ab4e9ac (patch) | |
| tree | 2f4722c5eab671da0096ea8f6484fb16f2fe41f5 /lib/oxidized | |
| parent | 93593578aabba6cbbc11b331ead3c4271b3569f6 (diff) | |
| parent | 7fab68a6819d06b0ae0db2f81a535dfaf3e75bc9 (diff) | |
Merge pull request #274 from Shopify/ssh-proxy
option to use ssh proxy command
Diffstat (limited to 'lib/oxidized')
| -rw-r--r-- | lib/oxidized/input/ssh.rb | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/lib/oxidized/input/ssh.rb b/lib/oxidized/input/ssh.rb index 476a786..493f7bb 100644 --- a/lib/oxidized/input/ssh.rb +++ b/lib/oxidized/input/ssh.rb @@ -1,5 +1,6 @@  module Oxidized    require 'net/ssh' +  require 'net/ssh/proxy/command'    require 'timeout'    require 'oxidized/input/cli'    class SSH < Input @@ -22,11 +23,15 @@ module Oxidized        secure = Oxidized.config.input.ssh.secure        @log = File.open(Oxidized::Config::Crash + "-#{@node.ip}-ssh", 'w') if Oxidized.config.input.debug?        port = vars(:ssh_port) || 22 -      @ssh = Net::SSH.start @node.ip, @node.auth[:username], :port => port.to_i, +      if proxy_host = vars(:proxy) +        proxy =  Net::SSH::Proxy::Command.new("ssh #{proxy_host} nc %h %p") +      end +      @ssh = Net::SSH.start(@node.ip, @node.auth[:username], :port => port.to_i,                              :password => @node.auth[:password], :timeout => Oxidized.config.timeout,                              :paranoid => secure,                              :auth_methods => %w(none publickey password keyboard-interactive), -                            :number_of_password_prompts => 0 +                            :number_of_password_prompts => 0, +                            :proxy => proxy)        unless @exec          shell_open @ssh          begin | 
