### Summary

Starting with ansible-core-2.11.0, the `ssh` module operates with a `retry` setting of `3`.

This has undesired impact when using a `sudo` password and making a typo in the password: the module would make 4 connection attempts, attempting a sudo in each connection attempt.

On hosts that report failed sudo attempts via email - this generates 4 emails per Ansible run per host - 4x increase from behaviour with previous version.

I have tracked this to commit 935528e22e5, which changed how the ssh module gets its settings - using `get_option` instead of the ConfigurationManager.

I have worked around this by explicitly setting `retries` on the first task in the playbook - but this is just a workaround.

I hope there would still be a way to set retries for the SSH module (or make it not retry on failed privilege escalation).

Cheers,
Vlad

### Issue Type

Bug Report

### Component Name

ssh

### Ansible Version

```console
ansible [core 2.11.2]
  config file = /Users/vlad/reannz/code/ansible-playbooks/ansible.cfg
  configured module search path = ['/Users/vlad/reannz/code/ansible-playbooks/library']
  ansible python module location = /usr/local/Cellar/ansible/4.1.0/libexec/lib/python3.9/site-packages/ansible
  ansible collection location = /Users/vlad/.ansible/collections:/opt/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.9.5 (default, May  4 2021, 03:29:30) [Clang 11.0.0 (clang-1100.0.33.17)]
  jinja version = 3.0.1
  libyaml = True
```


### Configuration

```console
DEFAULT_BECOME(/Users/vlad/reannz/code/ansible-playbooks/ansible.cfg) = True
DEFAULT_BECOME_ASK_PASS(/Users/vlad/reannz/code/ansible-playbooks/ansible.cfg) = False
DEFAULT_BECOME_METHOD(/Users/vlad/reannz/code/ansible-playbooks/ansible.cfg) = sudo
DEFAULT_BECOME_USER(/Users/vlad/reannz/code/ansible-playbooks/ansible.cfg) = root
DEFAULT_HOST_LIST(/Users/vlad/reannz/code/ansible-playbooks/ansible.cfg) = ['/Users/vlad/reannz/code/ansible-playbooks/environment/production']
```


### OS / Environment

Controller: OSX Mojave 10.14.6
Target: Ubuntu 20.04

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```ini
# ansible.cfg
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
```
Run:
```
ansible -u $USER -m command -a 'id' 'target-host' -K
```


### Expected Results

I expect sudo attempted only once.

### Actual Results

```console
Sudo is attempted 4 times (as per `/var/log/auth.log` on target host)
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
elif method == 'piped':
                if sftp_action == 'get':
                    
                    
                    (returncode, stdout, stderr) = self.exec_command('dd if=%s bs=%s' % (in_path, BUFSIZE), sudoable=False)
                    with open(to_bytes(out_path, errors='surrogate_or_strict'), 'wb+') as out_file:
                        out_file.write(stdout)
                else:
                    with open(to_bytes(in_path, errors='surrogate_or_strict'), 'rb') as f:
                        in_data = to_bytes(f.read(), nonstring='passthru')
                    if not in_data:
                        count = ' count=0'
                    else:
                        count = ''
                    (returncode, stdout, stderr) = self.exec_command('dd of=%s bs=%s%s' % (out_path, BUFSIZE, count), in_data=in_data, sudoable=False)
            
            if returncode == 0:
                return (returncode, stdout, stderr)
            else:
                
                if len(methods) > 1:
                    display.warning(u'%s transfer mechanism failed on %s. Use ANSIBLE_DEBUG=1 to see detailed information' % (method, host))
                    display.debug(u'%s' % to_text(stdout))
                    display.debug(u'%s' % to_text(stderr))
        if returncode == 255:
            raise AnsibleConnectionFailure("Failed to connect to the host via %s: %s" % (method, to_native(stderr)))
        else:
            raise AnsibleError("failed to transfer file to %s %s:\n%s\n%s" %
                               (to_native(in_path), to_native(out_path), to_native(stdout), to_native(stderr)))
    def _escape_win_path(self, path):