### Body

SSHHook uses the default stacklevel (1) in its deprecation warning, it should be 2:
https://github.com/apache/airflow/blob/b11525702c72cb53034aa29ccd6d0e1161ac475c/airflow/providers/ssh/hooks/ssh.py#L433-L439
https://github.com/apache/airflow/blob/b11525702c72cb53034aa29ccd6d0e1161ac475c/airflow/providers/ssh/hooks/ssh.py#L369-L374
https://github.com/apache/airflow/blob/b11525702c72cb53034aa29ccd6d0e1161ac475c/airflow/providers/ssh/hooks/ssh.py#L232-L238

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
self.banner_timeout = banner_timeout
        self.disabled_algorithms = disabled_algorithms
        self.ciphers = ciphers
        self.host_proxy_cmd = None
        
        self.compress = True
        self.no_host_key_check = True
        self.allow_host_key_change = False
        self.host_key = None
        self.look_for_keys = True
        
        self.client: paramiko.SSHClient | None = None
        
        if self.ssh_conn_id is not None:
            conn = self.get_connection(self.ssh_conn_id)
            if self.username is None:
                self.username = conn.login
            if self.password is None:
                self.password = conn.password
            if not self.remote_host:
                self.remote_host = conn.host
            if self.port is None:
                self.port = conn.port
            if conn.extra is not None:
                extra_options = conn.extra_dejson
                if "key_file" in extra_options and self.key_file is None:
                    self.key_file = extra_options.get("key_file")
                private_key = extra_options.get("private_key")
                private_key_passphrase = extra_options.get("private_key_passphrase")
                if private_key: