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

self.pkey = self._pkey_from_private_key(private_key, passphrase=private_key_passphrase)
                if "timeout" in extra_options:
                    warnings.warn(
                        "Extra option `timeout` is deprecated."
                        "Please use `conn_timeout` instead."
                        "The old option `timeout` will be removed in a future version.",
                        DeprecationWarning,
                        stacklevel=2,
                    )
                    self.timeout = int(extra_options["timeout"])
                if "conn_timeout" in extra_options and self.conn_timeout is None:
                    self.conn_timeout = int(extra_options["conn_timeout"])
                if "cmd_timeout" in extra_options and self.cmd_timeout is NOTSET:
                    if extra_options["cmd_timeout"]:
                        self.cmd_timeout = int(extra_options["cmd_timeout"])
                    else:
                        self.cmd_timeout = None
                if "compress" in extra_options and str(extra_options["compress"]).lower() == "false":
                    self.compress = False
                host_key = extra_options.get("host_key")
                no_host_key_check = extra_options.get("no_host_key_check")
                if no_host_key_check is not None:
                    no_host_key_check = str(no_host_key_check).lower() == "true"
                    if host_key is not None and no_host_key_check:
                        raise ValueError("Must check host key when provided")
                    self.no_host_key_check = no_host_key_check
                if (
                    "allow_host_key_change" in extra_options
                    and str(extra_options["allow_host_key_change"]).lower() == "true"
                ):