Entrega o socket CONNECT completado a ssh2-sftp-client
Conserva o saúdo SSH xa almacenado tras as cabeceiras do proxy e despois usa sock coas opcións SSH habituais do destino.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Fornece o host, porto, conta e política de clave de host existentes en sshOptions. O socket xa debe ir por un túnel CONNECT aceptado ata ese destino, non só ata o oínte do proxy.
Comproba o axudante antes de entregar o fluxo: rexeita o 407 ou outras respostas fallidas, mantén os prazos de configuración e pecha os sockets rexeitados. O evento connect de HTTP de Node inclúe bytes head xa lidos tras as cabeceiras; conserva un búfer non baleiro coa entrega de fluxo axeitada, por exemplo socket.unshift(head). Pode conter o saúdo SSH.
Pasa o socket de inmediato e despois pecha o traballo SFTP completado con await client.end(). Un HTTP Agent noutro sitio non crea este transporte SSH, e a conta CONNECT é distinta da conta SSH.