Afhenda tilbúið CONNECT-tengið til ssh2-sftp-client
Varðveittu SSH-kveðjuna sem þegar er í biðminni eftir proxy-hausana og notaðu síðan sock með venjulegum SSH-valkostum áfangastaðarins.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Gefðu upp núverandi áfangastað, gátt, reikning og stefnu fyrir húslykil í sshOptions. Tengið verður þegar að liggja í gegnum samþykkta CONNECT-göng að þeim áfangastað, ekki bara að proxy-hlustaranum.
Athugaðu hjálparann áður en þú afhendir strauminn: hafnaðu 407 eða öðrum misheppnuðum svörum, haltu uppsetningarfrestum og lokaðu höfnuðum tengjum. HTTP connect atburður Node inniheldur head bæti sem þegar eru lesin eftir hausana; varðveittu ekki tóman biðminni með viðeigandi straumafhendingu, til dæmis socket.unshift(head). Hann getur innihaldið SSH-kveðjuna.
Afhendtu tengið tafarlaust og lokaðu síðan loknu SFTP-verki með await client.end(). HTTP Agent annars staðar býr ekki til þessa SSH-flutninga og CONNECT-reikningurinn er aðskilinn frá SSH-reikningnum.