**Apache Airflow version**: 2.0.2 (but problem can still be found in master)

**What happened**:

When using the SSHHook to connect to an ssh server on a non default port, the host_key setting is not added with the correct hostname to the list of known hosts. In more detail:

```python
from airflow.providers.ssh.hooks.ssh import SSHHook
import paramiko
from base64 import decodebytes

hook = SSHHook(remote_host="1.2.3.4", port=1234, username="user")
# Usually, host_key would come from the connection_extras, for the sake of this example we set the value manually:
host_key = "abc" # Some public key
hook.host_key = paramiko.RSAKey(data=decodebytes(host_key.encode("utf-8")))
hook.no_host_key_check = False

conn = hook.get_conn()
```

This yields the exception

    paramiko.ssh_exception.SSHException: Server '[1.2.3.4]:1234' not found in known_hosts

**Reason**:
In the SSHHook the host_key is added using only the name of the remote host. 
https://github.com/apache/airflow/blob/5bd6ea784340e0daf1554e207600eae92318ab09/airflow/providers/ssh/hooks/ssh.py#L221

According the the known_hosts format, we would need 

```python
hostname = f"[{self.remote_host}]:{self.port}" if self.port != SSH_PORT else self.remote_host
```

**Anything else we need to know**:

I will prepare a PR that solves the problem.

airflow/providers/ssh/hooks/ssh.py
self.host_key = key_constructor(data=decoded_host_key)
                    self.no_host_key_check = False
        if self.pkey and self.key_file:
            raise AirflowException(
                "Params key_file and private_key both provided.  Must provide no more than one."
            )
        if not self.remote_host:
            raise AirflowException("Missing required param: remote_host")
        
        if not self.username:
            self.log.debug(
                "username to ssh to host: %s is not specified for connection id"
                " %s. Using system's default provided by getpass.getuser()",
                self.remote_host,
                self.ssh_conn_id,
            )
            self.username = getuser()
        user_ssh_config_filename = os.path.expanduser('~/.ssh/config')
        if os.path.isfile(user_ssh_config_filename):
            ssh_conf = paramiko.SSHConfig()
            with open(user_ssh_config_filename) as config_fd:
                ssh_conf.parse(config_fd)
            host_info = ssh_conf.lookup(self.remote_host)
            if host_info and host_info.get('proxycommand'):
                self.host_proxy = paramiko.ProxyCommand(host_info.get('proxycommand'))
            if not (self.password or self.key_file):
                if host_info and host_info.get('identityfile'):
                    self.key_file = host_info.get('identityfile')[0]
        self.port = self.port or SSH_PORT
    def get_conn(self) -> paramiko.SSHClient: