import SftpClient from 'ssh2-sftp-client';

const client = new SftpClient();
await client.connect({
  ...sshOptions,
  sock: tunnelSocket,
});

Proporciona el host, el puerto, la cuenta y la política de clave de host existentes en sshOptions. El socket ya debe llegar mediante un túnel CONNECT aceptado hasta ese destino, no solo hasta el receptor del proxy.

Comprueba el auxiliar antes de entregar el flujo: rechaza el 407 u otras respuestas fallidas, mantén los plazos de configuración y cierra los sockets rechazados. El evento connect de HTTP de Node incluye bytes head ya leídos tras las cabeceras; conserva un búfer no vacío con la entrega de flujo adecuada, por ejemplo socket.unshift(head). Puede contener el saludo SSH.

Pasa el socket sin demora y luego cierra el trabajo SFTP completado con await client.end(). Un HTTP Agent en otro lugar no crea este transporte SSH, y la cuenta CONNECT es distinta de la cuenta SSH.

Artículos relacionados