From 7fab68a6819d06b0ae0db2f81a535dfaf3e75bc9 Mon Sep 17 00:00:00 2001 From: Elvin Efendi Date: Wed, 20 Jan 2016 21:26:04 -0500 Subject: option to use ssh proxy command --- lib/oxidized/input/ssh.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib') 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 -- cgit v1.2.1