### 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)

hook = SSHHook(
            remote_host="remote_host", port="port", username="username", timeout=10, key_file="fake.file"
        )
        with hook.get_tunnel(1234):
            ssh_mock.assert_called_once_with(
                "remote_host",
                ssh_port="port",
                ssh_username="username",
                ssh_pkey="fake.file",
                ssh_proxy=None,
                local_bind_address=("localhost",),
                remote_bind_address=("localhost", 1234),
                host_pkey_directories=None,
                logger=hook.log,
            )
    def test_conn_with_extra_parameters(self):
        ssh_hook = SSHHook(ssh_conn_id=self.CONN_SSH_WITH_EXTRA)
        assert ssh_hook.compress is True
        assert ssh_hook.no_host_key_check is True
        assert ssh_hook.allow_host_key_change is False
        assert ssh_hook.look_for_keys is True
    def test_conn_with_extra_parameters_false_look_for_keys(self):