import SftpClient from 'ssh2-sftp-client';

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

Rhowch westeydd, porth, cyfrif a pholisi allwedd gwesteiwr y gyrchfan bresennol yn sshOptions. Mae'n rhaid i'r soced fynd eisoes trwy dwnnel CONNECT a dderbyniwyd i'r gyrchfan honno, nid yn unig i wrandawr y dirprwy.

Gwiriwch y cymorthydd cyn trosglwyddo'r ffrwd: gwrthodwch 407 neu ymatebion methiannus eraill, cadwch derfynau amser y gosodiad a chaewch socedi a wrthodwyd. Mae digwyddiad connect HTTP Node yn cynnwys bytes head sydd eisoes wedi'u darllen ar ôl y penawdau; cadwch byffer nad yw'n wag gyda'r trosglwyddiad ffrwd priodol, er enghraifft socket.unshift(head). Gall gynnwys y cyfarchiad SSH.

Trosglwyddwch y soced ar unwaith, yna caewch y gwaith SFTP gorffenedig gyda await client.end(). Nid yw HTTP Agent mewn man arall yn creu'r cludiant SSH hwn, ac mae cyfrif CONNECT ar wahân i gyfrif SSH.

Erthyglau cysylltiedig