import SftpClient from 'ssh2-sftp-client';

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

Наведите постојећи хост, порт, налог и политику кључа хоста одредишта у sshOptions. Сокет већ мора да води кроз прихваћен CONNECT тунел до тог одредишта, а не само до proxy ослушкивача.

Проверите помоћника пре предаје тока: одбијте 407 или друге неуспеле одговоре, задржите рокове подешавања и затворите одбијене socket-е. Догађај connect у Node HTTP-у укључује head бајтова већ прочитаних након заглавља; сачувајте непразан бафер одговарајућим преносом тока, на пример socket.unshift(head). Може да садржи SSH поздрав.

Предајте socket одмах, затим затворите довршени SFTP посао помоћу await client.end(). HTTP Agent на другом месту не ствара овај SSH транспорт, а CONNECT налог је одвојен од SSH налога.

Повезани чланци