Odovzdajte dokončený socket CONNECT do ssh2-sftp-client
Zachovajte SSH pozdrav už uložený v buffri po hlavičkách proxy a potom použite sock s obvyklými možnosťami SSH cieľa.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Zadajte existujúceho hostiteľa, port, účet a zásady hostiteľského kľúča cieľa do sshOptions. Socket už musí viesť cez prijatý tunel CONNECT k tomuto cieľu, nie len k naslúchajúcemu proxy.
Pred odovzdaním streamu skontrolujte pomocníka: odmietnite 407 alebo iné neúspešné odpovede, zachovajte lehoty nastavenia a zatvorte odmietnuté sockety. Udalosť connect v Node HTTP obsahuje bajty head už prečítané po hlavičkách; zachovajte neprázdny buffer vhodným odovzdaním streamu, napríklad socket.unshift(head). Môže obsahovať SSH pozdrav.
Socket odovzdajte bezodkladne a potom dokončenú prácu SFTP uzavrite pomocou await client.end(). HTTP Agent inde tento SSH transport nevytvára a účet CONNECT je oddelený od účtu SSH.