### Body

Similarly to SFTP (fixed in https://github.com/apache/airflow/pull/29068) the logic from __init__ should be moved to execute.

The #29068 provides a blueprint for that.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
)
                    self.sftp_hook = SFTPHook(ssh_conn_id=self.ssh_conn_id)
            if not self.sftp_hook:
                raise AirflowException("Cannot operate without sftp_hook or ssh_conn_id.")
            if self.remote_host is not None:
                self.log.info(
                    "remote_host is provided explicitly. "
                    "It will replace the remote_host which was defined "
                    "in sftp_hook or predefined in connection of ssh_conn_id."
                )
                self.sftp_hook.remote_host = self.remote_host
            for _local_filepath, _remote_filepath in zip(local_filepath_array, remote_filepath_array):
                if self.operation.lower() == SFTPOperation.GET:
                    local_folder = os.path.dirname(_local_filepath)
                    if self.create_intermediate_dirs:
                        Path(local_folder).mkdir(parents=True, exist_ok=True)
                    file_msg = f"from {_remote_filepath} to {_local_filepath}"
                    self.log.info("Starting to transfer %s", file_msg)
                    self.sftp_hook.retrieve_file(_remote_filepath, _local_filepath)
                else:
                    remote_folder = os.path.dirname(_remote_filepath)
                    if self.create_intermediate_dirs:
                        self.sftp_hook.create_directory(remote_folder)
                    file_msg = f"from {_local_filepath} to {_remote_filepath}"
                    self.log.info("Starting to transfer file %s", file_msg)
                    self.sftp_hook.store_file(_remote_filepath, _local_filepath, confirm=self.confirm)
        except Exception as e:
            raise AirflowException(f"Error while transferring {file_msg}, error: {str(e)}")
        return local_filepath_array[0] if local_filepath_was_str else local_filepath_array