import SftpClient from 'ssh2-sftp-client';

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

Oppgje vert, port, konto og vertsnøkkelpolicy for det eksisterande målet i sshOptions. Socketen må allereie gå gjennom ein godteken CONNECT-tunnel til det målet, ikkje berre til proxy-lyttaren.

Kontroller hjelparen før du overlèt straumen: avvis 407 eller andre mislukka svar, hald på tidsfristane for oppsett og lukk avviste sockets. Node sin HTTP-connect-hending inneheld head-byte som allereie er lesne etter hovuda; ta vare på ein ikkje-tom buffer med rett straumoverlevering, til dømes socket.unshift(head). Han kan innehalde SSH-helsinga.

Overlèt socketen med ein gong, og lukk deretter den ferdige SFTP-jobben med await client.end(). Ein HTTP Agent andre stader lagar ikkje denne SSH-transporten, og CONNECT-kontoen er skild frå SSH-kontoen.

Relaterte artiklar