import SftpClient from 'ssh2-sftp-client';

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

Navedite obstoječega gostitelja, vrata, račun in pravilnik gostiteljskega ključa cilja v sshOptions. Vtičnik mora že voditi skozi sprejet tunel CONNECT do tega cilja, ne le do poslušalca proxyja.

Pred predajo toka preverite pomočnika: zavrnite 407 ali druge neuspešne odgovore, ohranite roke nastavitve in zaprite zavrnjene vtičnike. Dogodek connect HTTP v Node vsebuje bajte head, ki so bili že prebrani po glavah; ohranite neprazen medpomnilnik z ustreznim prenosom toka, na primer socket.unshift(head). Lahko vsebuje pozdrav SSH.

Vtičnik predajte takoj, nato zaprite dokončano delo SFTP z await client.end(). HTTP Agent drugje ne ustvari tega prevoza SSH, račun CONNECT pa je ločen od računa SSH.

Sorodni članki