Fix to skip /.ssh/config if don't exist rather than raise an error.
This commit is contained in:
parent
645b7a2dff
commit
c844a2d072
1 changed files with 9 additions and 7 deletions
|
@ -75,7 +75,7 @@ class ParamikoConnection(object):
|
|||
self.port = self.runner.remote_port
|
||||
|
||||
def _get_conn(self):
|
||||
credentials = None
|
||||
credentials = {}
|
||||
user = self.runner.remote_user
|
||||
keypair = None
|
||||
|
||||
|
@ -84,15 +84,17 @@ class ParamikoConnection(object):
|
|||
try:
|
||||
ssh_config = paramiko.SSHConfig()
|
||||
config_file = ('~/.ssh/config')
|
||||
ssh_config.parse(open(os.path.expanduser(config_file)))
|
||||
credentials = ssh_config.lookup(self.host)
|
||||
if 'hostname' in credentials:
|
||||
self.host = credentials['hostname']
|
||||
if 'port' in credentials:
|
||||
self.port = credentials['port']
|
||||
if os.path.exists(os.path.expanduser(config_file)):
|
||||
ssh_config.parse(open(os.path.expanduser(config_file)))
|
||||
credentials = ssh_config.lookup(self.host)
|
||||
|
||||
except IOError,e:
|
||||
raise errors.AnsibleConnectionFailed(str(e))
|
||||
|
||||
if 'hostname' in credentials:
|
||||
self.host = credentials['hostname']
|
||||
if 'port' in credentials:
|
||||
self.port = credentials['port']
|
||||
if 'user' in credentials:
|
||||
user = credentials['user']
|
||||
if 'identityfile' in credentials:
|
||||
|
|
Loading…
Reference in a new issue