<!--- 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!!
SSH_ERROR = False
                break
        if SSH_ERROR:
            msg = "Failed to connect to the host via ssh:"
            if no_log:
                msg = '{0} <error censored due to no log>'.format(msg)
            else:
                msg = '{0} {1}'.format(msg, to_native(return_tuple[2]).rstrip())
            raise AnsibleConnectionFailure(msg)
    
    if 1 <= return_tuple[0] <= 254:
        msg = u"Failed to connect to the host via ssh:"
        if no_log:
            msg = u'{0} <error censored due to no log>'.format(msg)
        else:
            msg = u'{0} {1}'.format(msg, to_text(return_tuple[2]).rstrip())
        display.vvv(msg, host=host)
def _ssh_retry(func):
    """
    Decorator to retry ssh/scp/sftp in the case of a connection failure
    Will retry if:
    * an exception is caught
    * ssh returns 255
    Will not retry if
    * sshpass returns 5 (invalid password, to prevent account lockouts)
    * remaining_tries is < 2
    * retries limit reached
    """
    @wraps(func)
    def wrapped(self, *args, **kwargs):