the ssh shared module will try to use keys if the password is not supplied

The current ssh shared module forces only password based authentication.  This
change will allow the ssh module to use keys if a password is not provided.
This commit is contained in:
Peter Sprygada 2015-12-08 07:34:09 -05:00 committed by Brian Coca
parent b6dac26224
commit ac7dc6bd81

View file

@ -91,12 +91,17 @@ class Ssh(object):
def __init__(self):
self.client = None
def open(self, host, port=22, username=None, password=None, timeout=10):
def open(self, host, port=22, username=None, password=None,
timeout=10, key_filename=None):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
use_keys = password is None
ssh.connect(host, port=port, username=username, password=password,
timeout=timeout, allow_agent=False, look_for_keys=False)
timeout=timeout, allow_agent=use_keys, look_for_keys=use_keys,
key_filename=key_filename)
self.client = ssh
return self.on_open()