summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaku Ytti <saku@ytti.fi>2018-04-27 11:32:47 +0300
committerSaku Ytti <saku@ytti.fi>2018-04-27 11:32:47 +0300
commitcf770c557fc5d55786b56a31e389ff6d629315b4 (patch)
treeb32a197eafdf6c21b3cd42c0680b653b49d2a566
parent9153189119b58408f6203affee7888716c5570db (diff)
Add SSH keepalive
Closes #1276
-rw-r--r--lib/oxidized/input/ssh.rb11
-rw-r--r--spec/input/ssh_spec.rb11
2 files changed, 14 insertions, 8 deletions
diff --git a/lib/oxidized/input/ssh.rb b/lib/oxidized/input/ssh.rb
index 05c33c0..dc1eb27 100644
--- a/lib/oxidized/input/ssh.rb
+++ b/lib/oxidized/input/ssh.rb
@@ -26,11 +26,12 @@ module Oxidized
port = vars(:ssh_port) || 22
ssh_opts = {
- :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,
+ port: port.to_i,
+ paranoid: secure,
+ keepalive: true,
+ auth_methods: %w(none publickey password keyboard-interactive),
+ password: @node.auth[:password], :timeout => Oxidized.config.timeout,
+ number_of_password_prompts: 0,
}
if proxy_host = vars(:ssh_proxy)
diff --git a/spec/input/ssh_spec.rb b/spec/input/ssh_spec.rb
index 2d1f5ce..9e08cea 100644
--- a/spec/input/ssh_spec.rb
+++ b/spec/input/ssh_spec.rb
@@ -27,9 +27,14 @@ describe Oxidized::SSH do
proxy = mock
Net::SSH::Proxy::Command.expects(:new).with("ssh test.com -W %h:%p").returns(proxy)
- Net::SSH.expects(:start).with('93.184.216.34', 'alma', :port => 22, :password => 'armud', :timeout => Oxidized.config.timeout,
- :paranoid => Oxidized.config.input.ssh.secure, :auth_methods => ['none', 'publickey', 'password', 'keyboard-interactive'],
- :number_of_password_prompts => 0, :proxy => proxy)
+ Net::SSH.expects(:start).with('93.184.216.34', 'alma', port: 22,
+ timeout: Oxidized.config.timeout,
+ paranoid: Oxidized.config.input.ssh.secure,
+ keepalive: true,
+ proxy: proxy,
+ password: 'armud',
+ number_of_password_prompts: 0,
+ auth_methods: ['none', 'publickey', 'password', 'keyboard-interactive'])
ssh.instance_variable_set("@exec", true)
ssh.connect(@node)