diff options
author | Saku Ytti <saku@ytti.fi> | 2018-04-27 11:32:47 +0300 |
---|---|---|
committer | Saku Ytti <saku@ytti.fi> | 2018-04-27 11:32:47 +0300 |
commit | cf770c557fc5d55786b56a31e389ff6d629315b4 (patch) | |
tree | b32a197eafdf6c21b3cd42c0680b653b49d2a566 | |
parent | 9153189119b58408f6203affee7888716c5570db (diff) |
Add SSH keepalive
Closes #1276
-rw-r--r-- | lib/oxidized/input/ssh.rb | 11 | ||||
-rw-r--r-- | spec/input/ssh_spec.rb | 11 |
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) |