Predajte dokončani vtičnik CONNECT v ssh2-sftp-client
Ohranite pozdrav SSH, ki je že v medpomnilniku po glavah proxyja, nato uporabite sock z običajnimi možnostmi SSH cilja.
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.