### Summary

After upgrade from "ansible-base(2.10.8)" to "ansible-core(2.11.0)" Ansible is ignoring "~/.ssh/config" configuration file.

### Issue Type

Bug Report

### Component Name

ansible-core

### Ansible Version

```console
ansible [core 2.11.0] 
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/sbin/ansible
  python version = 3.9.4 (default, Apr 20 2021, 15:51:38) [GCC 10.2.0]
  jinja version = 2.11.3
  libyaml = True
```


### Configuration

```console
Nothing
```


### OS / Environment

Arch Linux

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
Creates an example entry in "~/.ssh/config"
```
Host 192.168.0.1
      Port 2222
```
Run the following ad-hoc command
```
ansible all -i 192.168.0.1, -m setup
```
The output follows
```
192.168.0.1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: ssh: connect to host 192.168.0.1 port 22: Connection refused",
"unreachable": true
}
```
As you can notice the output shows "port 22" and not "port 2222".

### Expected Results

Is expected the ansible try to connect to host using the parameters configured at ".ssh/config" file.

### Actual Results

```console
ansible [core 2.11.0] 
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/USER/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.9/site-packages/ansible
  ansible collection location = /home/USER/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/bin/ansible
  python version = 3.9.4 (default, Apr 20 2021, 15:51:38) [GCC 10.2.0]
  jinja version = 2.11.3
  libyaml = True
Using /etc/ansible/ansible.cfg as config file
setting up inventory plugins
Parsed 192.168.0.1, inventory source with host_list plugin
Loading callback plugin minimal of type stdout, v2.0 from /usr/lib/python3.9/site-packages/ansible/plugins/callback/minimal.py
Attempting to use 'default' callback.
Skipping callback 'default', as we already have a stdout callback.
Attempting to use 'junit' callback.
Attempting to use 'minimal' callback.
Skipping callback 'minimal', as we already have a stdout callback.
Attempting to use 'oneline' callback.
Skipping callback 'oneline', as we already have a stdout callback.
Attempting to use 'tree' callback.
META: ran handlers
<192.168.0.1> ESTABLISH SSH CONNECTION FOR USER: None
<192.168.0.1> SSH: ansible.cfg set ssh_args: (-C)(-o)(ControlMaster=auto)(-o)(ControlPersist=60s)
<192.168.0.1> SSH: ANSIBLE_HOST_KEY_CHECKING/host_key_checking disabled: (-o)(StrictHostKeyChecking=no)
<192.168.0.1> SSH: ANSIBLE_REMOTE_PORT/remote_port/ansible_port set: (-o)(Port=22)
<192.168.0.1> SSH: ansible_password/ansible_ssh_password not set: (-o)(KbdInteractiveAuthentication=no)(-o)(PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey)(-o)(PasswordAuthentication=no)
<192.168.0.1> SSH: ANSIBLE_TIMEOUT/timeout set: (-o)(ConnectTimeout=10)
<192.168.0.1> SSH: Set ssh_common_args: ()
<192.168.0.1> SSH: Set ssh_extra_args: ()
<192.168.0.1> SSH: found only ControlPersist; added ControlPath: (-o)(ControlPath=/home/USER/.ansible/cp/144d72725f)
<192.168.0.1> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o Port=22 -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/USER/.ansible/cp/144d72725f 192.168.0.1 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.0.1> (255, b'', b'OpenSSH_8.6p1, OpenSSL 1.1.1k  25 Mar 2021\r\ndebug1: Reading configuration data /home/USER/.ssh/config\r\ndebug1: /home/USER/.ssh/config line 8: Applying options for 192.168.0.1\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug2: resolve_canonicalize: hostname 192.168.0.1 is address\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts\' -> \'/home/USER/.ssh/known_hosts\'\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts2\' -> \'/home/USER/.ssh/known_hosts2\'\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: Control socket "/home/USER/.ansible/cp/144d72725f" does not exist\r\ndebug3: ssh_connect_direct: entering\r\ndebug1: Connecting to 192.168.0.1 [192.168.0.1] port 22.\r\ndebug3: set_sock_tos: set socket 3 IP_TOS 0x48\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug1: connect to address 192.168.0.1 port 22: Connection refused\r\nssh: connect to host 192.168.0.1 port 22: Connection refused\r\n')
<192.168.0.1> ssh_retry: attempt: 1, ssh return code is 255. cmd ([b'ssh', b'-vvv', b'-C', b'-o', b'ControlMaster=auto', b'-o', b'ControlPersist=60s', b'-o', b'StrictHostKeyChecking=no', b'-o', b'Port=22', b'-o', b'KbdInteractiveAuthentication=no', b'-o', b'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', b'-o', b'PasswordAuthentication=no', b'-o', b'ConnectTimeout=10', b'-o', b'ControlPath=/home/USER/.ansible/cp/144d72725f', b'192.168.0.1', b"/bin/sh -c 'echo ~ && sleep 0'"]...), pausing for 0 seconds
<192.168.0.1> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o Port=22 -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/USER/.ansible/cp/144d72725f 192.168.0.1 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.0.1> (255, b'', b'OpenSSH_8.6p1, OpenSSL 1.1.1k  25 Mar 2021\r\ndebug1: Reading configuration data /home/USER/.ssh/config\r\ndebug1: /home/USER/.ssh/config line 8: Applying options for 192.168.0.1\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug2: resolve_canonicalize: hostname 192.168.0.1 is address\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts\' -> \'/home/USER/.ssh/known_hosts\'\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts2\' -> \'/home/USER/.ssh/known_hosts2\'\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: Control socket "/home/USER/.ansible/cp/144d72725f" does not exist\r\ndebug3: ssh_connect_direct: entering\r\ndebug1: Connecting to 192.168.0.1 [192.168.0.1] port 22.\r\ndebug3: set_sock_tos: set socket 3 IP_TOS 0x48\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug1: connect to address 192.168.0.1 port 22: Connection refused\r\nssh: connect to host 192.168.0.1 port 22: Connection refused\r\n')
<192.168.0.1> ssh_retry: attempt: 2, ssh return code is 255. cmd ([b'ssh', b'-vvv', b'-C', b'-o', b'ControlMaster=auto', b'-o', b'ControlPersist=60s', b'-o', b'StrictHostKeyChecking=no', b'-o', b'Port=22', b'-o', b'KbdInteractiveAuthentication=no', b'-o', b'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', b'-o', b'PasswordAuthentication=no', b'-o', b'ConnectTimeout=10', b'-o', b'ControlPath=/home/USER/.ansible/cp/144d72725f', b'192.168.0.1', b"/bin/sh -c 'echo ~ && sleep 0'"]...), pausing for 1 seconds
<192.168.0.1> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o Port=22 -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/USER/.ansible/cp/144d72725f 192.168.0.1 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.0.1> (255, b'', b'OpenSSH_8.6p1, OpenSSL 1.1.1k  25 Mar 2021\r\ndebug1: Reading configuration data /home/USER/.ssh/config\r\ndebug1: /home/USER/.ssh/config line 8: Applying options for 192.168.0.1\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug2: resolve_canonicalize: hostname 192.168.0.1 is address\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts\' -> \'/home/USER/.ssh/known_hosts\'\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts2\' -> \'/home/USER/.ssh/known_hosts2\'\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: Control socket "/home/USER/.ansible/cp/144d72725f" does not exist\r\ndebug3: ssh_connect_direct: entering\r\ndebug1: Connecting to 192.168.0.1 [192.168.0.1] port 22.\r\ndebug3: set_sock_tos: set socket 3 IP_TOS 0x48\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug1: connect to address 192.168.0.1 port 22: Connection refused\r\nssh: connect to host 192.168.0.1 port 22: Connection refused\r\n')
<192.168.0.1> ssh_retry: attempt: 3, ssh return code is 255. cmd ([b'ssh', b'-vvv', b'-C', b'-o', b'ControlMaster=auto', b'-o', b'ControlPersist=60s', b'-o', b'StrictHostKeyChecking=no', b'-o', b'Port=22', b'-o', b'KbdInteractiveAuthentication=no', b'-o', b'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', b'-o', b'PasswordAuthentication=no', b'-o', b'ConnectTimeout=10', b'-o', b'ControlPath=/home/USER/.ansible/cp/144d72725f', b'192.168.0.1', b"/bin/sh -c 'echo ~ && sleep 0'"]...), pausing for 3 seconds
<192.168.0.1> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o StrictHostKeyChecking=no -o Port=22 -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/home/USER/.ansible/cp/144d72725f 192.168.0.1 '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<192.168.0.1> (255, b'', b'OpenSSH_8.6p1, OpenSSL 1.1.1k  25 Mar 2021\r\ndebug1: Reading configuration data /home/USER/.ssh/config\r\ndebug1: /home/USER/.ssh/config line 8: Applying options for 192.168.0.1\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug2: resolve_canonicalize: hostname 192.168.0.1 is address\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts\' -> \'/home/USER/.ssh/known_hosts\'\r\ndebug3: expanded UserKnownHostsFile \'~/.ssh/known_hosts2\' -> \'/home/USER/.ssh/known_hosts2\'\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: Control socket "/home/USER/.ansible/cp/144d72725f" does not exist\r\ndebug3: ssh_connect_direct: entering\r\ndebug1: Connecting to 192.168.0.1 [192.168.0.1] port 22.\r\ndebug3: set_sock_tos: set socket 3 IP_TOS 0x48\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug1: connect to address 192.168.0.1 port 22: Connection refused\r\nssh: connect to host 192.168.0.1 port 22: Connection refused\r\n')
192.168.0.1 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: OpenSSH_8.6p1, OpenSSL 1.1.1k  25 Mar 2021\r\ndebug1: Reading configuration data /home/USER/.ssh/config\r\ndebug1: /home/USER/.ssh/config line 8: Applying options for 192.168.0.1\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug2: resolve_canonicalize: hostname 192.168.0.1 is address\r\ndebug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/USER/.ssh/known_hosts'\r\ndebug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/USER/.ssh/known_hosts2'\r\ndebug1: auto-mux: Trying existing master\r\ndebug1: Control socket \"/home/USER/.ansible/cp/144d72725f\" does not exist\r\ndebug3: ssh_connect_direct: entering\r\ndebug1: Connecting to 192.168.0.1 [192.168.0.1] port 22.\r\ndebug3: set_sock_tos: set socket 3 IP_TOS 0x48\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug1: connect to address 192.168.0.1 port 22: Connection refused\r\nssh: connect to host 192.168.0.1 port 22: Connection refused",
    "unreachable": true
}
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
raise AnsibleError('Unable to execute ssh command line on a controller due to: %s' % to_native(e))
        
        
        if conn_password:
            os.close(self.sshpass_pipe[0])
            try:
                os.write(self.sshpass_pipe[1], to_bytes(conn_password) + b'\n')
            except OSError as e:
                
                if e.errno != errno.EPIPE or p.poll() is None:
                    raise
            os.close(self.sshpass_pipe[1])
        #
        
        #
        
        
        
        states = [
            'awaiting_prompt', 'awaiting_escalation', 'ready_to_send', 'awaiting_exit'
        ]
        
        
        
        state = states.index('ready_to_send')
        if to_bytes(self.get_option('ssh_executable')) in cmd and sudoable:
            prompt = getattr(self.become, 'prompt', None)
            if prompt: