### 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.
if context and self.do_xcom_push:
            ti = context.get("task_instance")
            ti.xcom_push(key="ssh_exit", value=exit_status)
        if exit_status != 0:
            raise AirflowException(f"SSH operator error: exit status = {exit_status}")
    def run_ssh_client_command(self, ssh_client: SSHClient, command: str, context=None) -> bytes:
        exit_status, agg_stdout, agg_stderr = self.hook.exec_ssh_client_command(
            ssh_client, command, timeout=self.cmd_timeout, environment=self.environment, get_pty=self.get_pty
        )
        self.raise_for_status(exit_status, agg_stderr, context=context)
        return agg_stdout
    def execute(self, context=None) -> bytes | str:
        result: bytes | str
        if self.command is None:
            raise AirflowException("SSH operator error: SSH command not specified. Aborting.")
        
        self.get_pty = self.command.startswith("sudo") or self.get_pty
        with self.get_ssh_client() as ssh_client:
            result = self.run_ssh_client_command(ssh_client, self.command, context=context)
        enable_pickling = conf.getboolean("core", "enable_xcom_pickling")
        if not enable_pickling:
            result = b64encode(result).decode("utf-8")
        return result
    def tunnel(self) -> None:
        """Get ssh tunnel."""
        ssh_client = self.hook.get_conn()  
        ssh_client.get_transport()