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ømoverlevering, for eksempel socket.unshift(head). Den kan inneholde SSH-hilsenen.

Overlever 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.

Relaterte artikler