import SftpClient from 'ssh2-sftp-client';

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

Verskaf die bestaande bestemmingsgasheer, poort, rekening en gasheer-sleutelbeleid in sshOptions. Die sok moet reeds deur 'n aanvaarde CONNECT-tonnel na daardie bestemming lei, nie bloot na die proxy-luisteraar nie.

Kontroleer die helper voordat jy die stroom oorhandig: verwerp 407 of ander mislukte antwoorde, behou opsteltermyn en sluit verwerpte sokkette. Node se HTTP connect-gebeurtenis sluit head-grepe in wat reeds ná die opskrifte gelees is; bewaar 'n nie-leë buffer met die gepaste stroomoorhandiging, byvoorbeeld socket.unshift(head). Dit kan die SSH-groet bevat.

Gee die sok gou oor en sluit dan die voltooide SFTP-werk met await client.end(). 'n HTTP Agent elders skep nie hierdie SSH-vervoer nie, en die CONNECT-rekening is apart van die SSH-rekening.

Verwante artikels