summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTill Maas <opensource@till.name>2015-05-15 22:36:13 +0200
committerTill Maas <opensource@till.name>2015-05-15 22:36:13 +0200
commit02d784598fcdbfd2bfc93c91ecff782a61dafcc3 (patch)
treee74f004ec35d0a50880e29f691d1ff51dec0e0a3
parente7846343e57691f827623047b140ccbe938a13eb (diff)
downloadansible-02d784598fcdbfd2bfc93c91ecff782a61dafcc3.tar.gz
facts: Simplify ssh key fetching
-rw-r--r--lib/ansible/module_utils/facts.py37
1 files changed, 10 insertions, 27 deletions
diff --git a/lib/ansible/module_utils/facts.py b/lib/ansible/module_utils/facts.py
index b95fccdcb7..6ddae5df85 100644
--- a/lib/ansible/module_utils/facts.py
+++ b/lib/ansible/module_utils/facts.py
@@ -471,36 +471,19 @@ class Facts(object):
pass
def get_public_ssh_host_keys(self):
- dsa_filename = '/etc/ssh/ssh_host_dsa_key.pub'
- rsa_filename = '/etc/ssh/ssh_host_rsa_key.pub'
- ecdsa_filename = '/etc/ssh/ssh_host_ecdsa_key.pub'
- ed25519_filename = '/etc/ssh/ssh_host_ed25519_key.pub'
+ keytypes = ('dsa', 'rsa', 'ecdsa', 'ed25519')
if self.facts['system'] == 'Darwin':
- dsa_filename = '/etc/ssh_host_dsa_key.pub'
- rsa_filename = '/etc/ssh_host_rsa_key.pub'
- ecdsa_filename = '/etc/ssh_host_ecdsa_key.pub'
- ed25519_filename = '/etc/ssh_host_ed25519_key.pub'
- dsa = get_file_content(dsa_filename)
- rsa = get_file_content(rsa_filename)
- ecdsa = get_file_content(ecdsa_filename)
- ed25519 = get_file_content(ed25519_filename)
- if dsa is None:
- dsa = 'NA'
+ keydir = '/etc'
else:
- self.facts['ssh_host_key_dsa_public'] = dsa.split()[1]
- if rsa is None:
- rsa = 'NA'
- else:
- self.facts['ssh_host_key_rsa_public'] = rsa.split()[1]
- if ecdsa is None:
- ecdsa = 'NA'
- else:
- self.facts['ssh_host_key_ecdsa_public'] = ecdsa.split()[1]
- if ed25519 is None:
- ed25519 = 'NA'
- else:
- self.facts['ssh_host_key_ed25519_public'] = ed25519.split()[1]
+ keydir = '/etc/ssh'
+
+ for type_ in keytypes:
+ key_filename = '%s/ssh_host_%s_key.pub' % (keydir, type_)
+ keydata = get_file_content(key_filename)
+ if keydata is not None:
+ factname = 'ssh_host_key_%s_public' % type_
+ self.facts[factname] = keydata.split()[1]
def get_pkg_mgr_facts(self):
self.facts['pkg_mgr'] = 'unknown'