Add better error messages and checking to known_hosts (#38307)

This commit is contained in:
Sam Doran 2018-05-17 13:53:40 -04:00 committed by ansibot
parent 02bc4c570f
commit 13aff08748
2 changed files with 39 additions and 2 deletions

View file

@ -174,6 +174,11 @@ def sanity_check(module, host, key, sshkeygen):
# The approach is to write the key to a temporary file,
# and then attempt to look up the specified host in that file.
if re.search(r'\S+(\s+)?,(\s+)?', host):
module.fail_json(msg="Comma separated list of names is not supported. "
"Please pass a single name to lookup in the known_hosts file.")
try:
outf = tempfile.NamedTemporaryFile(mode='w+')
outf.write(key)
@ -183,7 +188,7 @@ def sanity_check(module, host, key, sshkeygen):
(outf.name, to_native(e)))
sshkeygen_command = [sshkeygen, '-F', host, '-f', outf.name]
rc, stdout, stderr = module.run_command(sshkeygen_command, check_rc=True)
rc, stdout, stderr = module.run_command(sshkeygen_command)
try:
outf.close()
except: