### Apache Airflow Provider(s)

ssh

### Versions of Apache Airflow Providers

apache-airflow-providers-ssh>=3.3.0

### Apache Airflow version

2.5.0

### Operating System

debian "11 (bullseye)"

### Deployment

Official Apache Airflow Helm Chart

### Deployment details

_No response_

### What happened

I have an SSH operator task where the command can take a long time. In recent SSH provider versions(>=3.3.0) it stopped working, as I suspect it is because of #27184 . After this change looks like the timeout is 10 seconds, and after there is no output provided through SSH for 10 seconds I'm getting the following error:

```
[2023-01-26, 11:49:57 UTC] {taskinstance.py:1772} ERROR - Task failed with exception
Traceback (most recent call last):
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/ssh/operators/ssh.py", line 171, in execute
    result = self.run_ssh_client_command(ssh_client, self.command, context=context)
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/ssh/operators/ssh.py", line 156, in run_ssh_client_command
    exit_status, agg_stdout, agg_stderr = self.ssh_hook.exec_ssh_client_command(
  File "/home/airflow/.local/lib/python3.9/site-packages/airflow/providers/ssh/hooks/ssh.py", line 521, in exec_ssh_client_command
    raise AirflowException("SSH command timed out")
airflow.exceptions.AirflowException: SSH command timed out
```


At first I thought that this is ok, since I can just set `conn_timeout` extra parameter in my ssh connection. But then I noticed that this parameter from the connection is not used anywhere - so this doesn't work, and you have to modify your task code to set the needed value of this parameter in the SSH operator. What's more, even even with modifying task code it's not possible to achieve the previous behavior(when this parameter was not set) since now it'll be set to 10 when you pass None as value.

### What you think should happen instead

I think it should be possible to pass timeout parameter through connection extra field for ssh operator (including None value, meaning no timeout).

### How to reproduce

Add simple DAG with sleeping for more than 10 seconds, for example:

```python

#  this DAG only works for SSH provider versions <=3.2.0 

from airflow.models import DAG
from airflow.contrib.operators.ssh_operator import SSHOperator
from airflow.utils.dates import days_ago

from airflow.operators.dummy import DummyOperator

args = {
    'owner': 'airflow',
    'start_date': days_ago(2),
}

dag = DAG(
    default_args=args,
    dag_id="test_ssh",
    max_active_runs=1,
    catchup=False,
    schedule_interval="@hourly"
)
task0 = SSHOperator(ssh_conn_id='ssh_localhost',
                    task_id="test_sleep",
                    command=f'sleep 15s',
                    dag=dag)

task0
```

Try configuring `ssh_localhost` connection to make the DAG work using extra conn_timeout or extra timeout (or other) parameters.


### Anything else

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

import warnings
from base64 import decodebytes
from io import StringIO
from select import select
from typing import Any, Sequence
import paramiko
from paramiko.config import SSH_PORT
from sshtunnel import SSHTunnelForwarder
from tenacity import Retrying, stop_after_attempt, wait_fixed, wait_random
from airflow.compat.functools import cached_property
from airflow.exceptions import AirflowException
from airflow.hooks.base import BaseHook
from airflow.utils.platform import getuser
TIMEOUT_DEFAULT = 10
class SSHHook(BaseHook):
    """
    Hook for ssh remote execution using Paramiko.
    ref: https://github.com/paramiko/paramiko
    This hook also lets you create ssh tunnel and serve as basis for SFTP file transfer
    :param ssh_conn_id: :ref:`ssh connection id<howto/connection:ssh>` from airflow
        Connections from where all the required parameters can be fetched like
        username, password or key_file, though priority is given to the
        params passed during init.
    :param remote_host: remote host to connect
    :param username: username to connect to the remote_host
    :param password: password of the username to connect to the remote_host
    :param key_file: path to key file to use to connect to the remote_host
    :param port: port of remote host to connect (Default is paramiko SSH_PORT)
    :param conn_timeout: timeout (in seconds) for the attempt to connect to the remote_host.
        The default is 10 seconds. If provided, it will replace the `conn_timeout` which was