import SftpClient from 'ssh2-sftp-client';

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

Ange den befintliga destinationens värd, port, konto och värdnyckelpolicy i sshOptions. Socketen måste redan gå genom en accepterad CONNECT-tunnel till den destinationen, inte bara till proxy-lyssnaren.

Kontrollera hjälparen innan du lämnar över strömmen: avvisa 407 eller andra misslyckade svar, behåll tidsfristerna för konfigurationen och stäng avvisade sockets. Nodes HTTP-connect-händelse innehåller head byte som redan lästs efter headrarna; behåll en icke-tom buffert med rätt strömöverlämning, till exempel socket.unshift(head). Den kan innehålla SSH-hälsningen.

Lämna över socketen direkt och stäng sedan det slutförda SFTP-arbetet med await client.end(). En HTTP Agent någon annanstans skapar inte denna SSH-transport, och CONNECT-kontot är skilt från SSH-kontot.

Relaterade artiklar