diff --git a/lib/ansible/runner/connection_plugins/ssh.py b/lib/ansible/runner/connection_plugins/ssh.py index 1b42bc0cf12..28e4ad5f4cf 100644 --- a/lib/ansible/runner/connection_plugins/ssh.py +++ b/lib/ansible/runner/connection_plugins/ssh.py @@ -247,8 +247,8 @@ class Connection(object): # the host to known hosts is not intermingled with multiprocess output. fcntl.lockf(self.runner.output_lockfile, fcntl.LOCK_UN) fcntl.lockf(self.runner.process_lockfile, fcntl.LOCK_UN) - - if p.returncode != 0 and stderr.find('Bad configuration option: ControlPersist') != -1: + controlpersisterror = stderr.find('Bad configuration option: ControlPersist') or stderr.find('unknown configuration option: ControlPersist') != -1 + if p.returncode != 0 and controlpersisterror: raise errors.AnsibleError('using -c ssh on certain older ssh versions may not support ControlPersist, set ANSIBLE_SSH_ARGS="" (or ansible_ssh_args in the config file) before running again') return (p.returncode, '', stdout, stderr)