import SftpClient from 'ssh2-sftp-client';

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

Подайте съществуващия хост, порт, акаунт и политика за хост ключ на дестинацията в sshOptions. Сокетът трябва вече да води през приет CONNECT тунел до тази дестинация, а не само до прокси слушателя.

Проверете помощника преди предаването на потока: отхвърлете 407 или други неуспешни отговори, запазете сроковете за настройка и затворете отхвърлените сокети. Събитието connect на HTTP в Node включва head байта, вече прочетени след заглавките; запазете непразен буфер с подходящото предаване на потока, например socket.unshift(head). Той може да съдържа SSH поздрава.

Предайте сокета бързо, после затворете завършената SFTP работа с await client.end(). HTTP Agent другаде не създава този SSH транспорт, а CONNECT акаунтът е отделен от SSH акаунта.

Подобни статии