Overfør den fullførte CONNECT-socketen til ssh2-sftp-client
Behold SSH-hilsenen som allerede er bufret etter proxy-headerne, og bruk deretter sock med destinasjonens vanlige SSH-innstillinger.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Oppgi den eksisterende destinasjonens vert, port, konto og vertsnøkkelpolicy i sshOptions. Socketen må allerede gå gjennom en akseptert CONNECT-tunnel til den destinasjonen, ikke bare til proxy-lytteren.
Kontroller hjelperen før du overlater strømmen: avvis 407 eller andre mislykkede svar, behold tidsfristene for oppsett og lukk avviste sockets. Nodes HTTP-connect-hendelse inneholder head-byte som allerede er lest etter headerne; behold en ikke-tom buffer med riktig strømoverføring, for eksempel socket.unshift(head). Den kan inneholde SSH-hilsenen.
Overfør socketen umiddelbart, og lukk deretter den fullførte SFTP-jobben med await client.end(). En HTTP Agent andre steder oppretter ikke denne SSH-transporten, og CONNECT-kontoen er atskilt fra SSH-kontoen.