import SftpClient from 'ssh2-sftp-client';

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

Add meg a meglévő cél hosztját, portját, fiókját és hosztkulcs-szabályát a sshOptions belsejében. A socketnek már elfogadott CONNECT-alagúton keresztül kell eljutnia ehhez a célhoz, nem csupán a proxy figyelőjéhez.

A stream átadása előtt ellenőrizd a segédet: utasítsd el a 407-et vagy más sikertelen válaszokat, tartsd meg a beállítási határidőket, és zárd be az elutasított socketeket. A Node HTTP connect eseménye tartalmazza a fejlécek után már beolvasott head bájtokat; őrizz meg egy nem üres puffert a megfelelő stream-átadással, például socket.unshift(head). Tartalmazhatja az SSH üdvözlést.

Add át a socketet azonnal, majd zárd le a befejezett SFTP-munkát a await client.end() segítségével. Egy máshol lévő HTTP Agent nem hozza létre ezt az SSH-szállítást, és a CONNECT-fiók elkülönül az SSH-fióktól.

Kapcsolódó cikkek