Nododiet pabeigto CONNECT ligzdu ssh2-sftp-client
Saglabājiet SSH sveicienu, kas jau ir buferī pēc starpniekservera galvenēm, pēc tam izmantojiet sock ar mērķa parastajām SSH opcijām.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Norādiet esošā mērķa resursdatoru, portu, kontu un resursdatora atslēgas politiku sshOptions. Ligzdai jau jāved caur pieņemtu CONNECT tuneli uz šo mērķi, nevis tikai uz starpniekservera klausītāju.
Pirms straumes nodošanas pārbaudiet palīgu: noraidiet 407 vai citas neveiksmīgas atbildes, saglabājiet iestatīšanas termiņus un aizveriet noraidītās ligzdas. Node HTTP connect notikums ietver head baitus, kas jau nolasīti pēc galvenēm; saglabājiet ne tukšu buferi ar atbilstošu straumes nodošanu, piemēram, socket.unshift(head). Tajā var būt SSH sveiciens.
Nododiet ligzdu nekavējoties, pēc tam aizveriet pabeigto SFTP darbu ar await client.end(). HTTP Agent citur neveido šo SSH transportu, un CONNECT konts ir atsevišķs no SSH konta.