### Body

SSHOperator uses the default `stacklevel` (1) in its deprecation warning, it should be 2:
https://github.com/apache/airflow/blob/a59076eaeed03dd46e749ad58160193b4ef3660c/airflow/providers/ssh/operators/ssh.py#L139-L143

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
self,
        *,
        ssh_hook: SSHHook | None = None,
        ssh_conn_id: str | None = None,
        remote_host: str | None = None,
        command: str | None = None,
        conn_timeout: int | None = None,
        cmd_timeout: int | ArgNotSet | None = NOTSET,
        environment: dict | None = None,
        get_pty: bool = False,
        banner_timeout: float = 30.0,
        **kwargs,
    ) -> None:
        super().__init__(**kwargs)
        if ssh_hook and isinstance(ssh_hook, SSHHook):
            self.ssh_hook = ssh_hook
            if remote_host is not None:
                self.ssh_hook.remote_host = remote_host
        self.ssh_conn_id = ssh_conn_id
        self.remote_host = remote_host
        self.command = command
        self.conn_timeout = conn_timeout
        self.cmd_timeout = cmd_timeout
        self.environment = environment
        self.get_pty = get_pty
        self.banner_timeout = banner_timeout
    @cached_property
    def ssh_hook(self) -> SSHHook: