### Description

Following #29282, command timeout is set at the `SSHHook` level while it used to be able to set at the `SSHOperator` level.

I will work on a PR as soon as i can.

### Use case/motivation

Ideally, i think we could have a default value set on `SSHHook`, but with the possibility of overriding it at the `SSHOperator` level.

### Related issues

#29282 

### Are you willing to submit a 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)

host="localhost",
                conn_type="ssh",
                extra={"private_key": TEST_OPENSSH_PRIVATE_KEY},
            )
            session.add(conn)
            session.flush()
            hook = SSHHook(ssh_conn_id=conn.conn_id)
            assert isinstance(hook.pkey, paramiko.RSAKey)
        finally:
            session.delete(conn)
            session.commit()
    def test_oneline_key(self):
        with pytest.raises(Exception):
            TEST_ONELINE_KEY = "-----BEGIN OPENSSHPRIVATE KEY-----asdfg-----END OPENSSHPRIVATE KEY-----"
            session = settings.Session()
            try:
                conn = Connection(
                    conn_id="openssh_pkey",
                    host="localhost",
                    conn_type="ssh",
                    extra={"private_key": TEST_ONELINE_KEY},
                )
                session.add(conn)
                session.flush()
                SSHHook(ssh_conn_id=conn.conn_id)
            finally:
                session.delete(conn)
                session.commit()
    @pytest.mark.flaky(reruns=5)
    def test_exec_ssh_client_command(self):