Overdrag den færdige CONNECT-socket til ssh2-sftp-client
Bevar SSH-hilsenen, der allerede er bufret efter proxy-headere, og brug derefter sock med destinationens normale SSH-indstillinger.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Angiv den eksisterende destinations vært, port, konto og host-nøglepolitik i sshOptions. Socketten skal allerede føre gennem en accepteret CONNECT-tunnel til den destination, ikke blot til proxy-lytteren.
Kontroller hjælperen, før du overlader streamen: afvis 407 eller andre mislykkede svar, bevar opsætningsfrister og luk afviste sockets. Nodes HTTP-connect-hændelse indeholder head-bytes, der allerede er læst efter headere; bevar en ikke-tom buffer med den rette stream-overdragelse, for eksempel socket.unshift(head). Den kan indeholde SSH-hilsenen.
Videregiv socketten straks, og luk derefter den færdige SFTP-opgave med await client.end(). En HTTP Agent andre steder opretter ikke denne SSH-transport, og CONNECT-kontoen er adskilt fra SSH-kontoen.