import SftpClient from 'ssh2-sftp-client';

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

Nurodykite esamo paskirties hosto, prievado, paskyros ir hosto rakto politiką sshOptions. Socket jau turi vesti per priimtą CONNECT tunelį į tą paskirtį, o ne tik į tarpinio serverio klausytoją.

Prieš perduodami srautą patikrinkite pagalbininką: atmeskite 407 ar kitus nepavykusius atsakymus, išlaikykite nustatymo terminus ir uždarykite atmestus socket. Node HTTP connect įvykis apima head baitus, jau perskaitytus po antraščių; išsaugokite ne tuščią buferį tinkamu srauto perdavimu, pavyzdžiui, socket.unshift(head). Jame gali būti SSH pasveikinimas.

Perduokite socket nedelsdami, tada uždarykite baigtą SFTP darbą su await client.end(). HTTP Agent kitur nesukuria šio SSH transporto, o CONNECT paskyra atskira nuo SSH paskyros.

Susiję straipsniai