<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
If you don't have an ssh client installed in container image or on your system, ansible just throws following error -  `The error was: FileNotFoundError: [Errno 2] No such file or directory: b'ssh': b'ssh'` error. 

```
TASK [Gathering Facts] *********************************************************
[WARNING]: Unhandled error in Python interpreter discovery for host <hostname1>: [Errno 2] No such file or directory: b'ssh': b'ssh'

[WARNING]: Unhandled error in Python interpreter discovery for host <hostname2>: [Errno 2] No such file or directory: b'ssh': b'ssh'

An exception occurred during task execution. To see the full traceback, use -vvv. The error was: FileNotFoundError: [Errno 2] No such file or directory: b'ssh': b'ssh'
fatal: [<hostname1>]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""}

An exception occurred during task execution. To see the full traceback, use -vvv. The error was: FileNotFoundError: [Errno 2] No such file or directory: b'ssh': b'ssh'
fatal: [<hostname2>]: FAILED! => {"msg": "Unexpected failure during module execution.", "stdout": ""}
```

##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
2.9.6
```

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->
Run playbook on the system where ssh client is not installed & playbook is expecting to use ssh keys for remote hosts.


<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
If possible adding an error message indicating `ssh client is not installed on the system`

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
```paste below
Error message mentioned in the summary 
The error was: FileNotFoundError: [Errno 2] No such file or directory: b'ssh': b'ssh'
```

Thank you!!
return self
    @staticmethod
    def _create_control_path(host, port, user, connection=None, pid=None):
        '''Make a hash for the controlpath based on con attributes'''
        pstring = '%s-%s-%s' % (host, port, user)
        if connection:
            pstring += '-%s' % connection
        if pid:
            pstring += '-%s' % to_text(pid)
        m = hashlib.sha1()
        m.update(to_bytes(pstring))
        digest = m.hexdigest()
        cpath = '%(directory)s/' + digest[:10]
        return cpath
    @staticmethod
    def _sshpass_available():
        global SSHPASS_AVAILABLE
        
        
        
        if SSHPASS_AVAILABLE is None:
            try:
                p = subprocess.Popen(["sshpass"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
                p.communicate()
                SSHPASS_AVAILABLE = True
            except OSError:
                SSHPASS_AVAILABLE = False
        return SSHPASS_AVAILABLE
    @staticmethod
    def _persistence_controls(b_command):