import SftpClient from 'ssh2-sftp-client';

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

Berikan hos, port, akaun dan dasar kunci hos destinasi sedia ada dalam sshOptions. Socket mesti sudah menuju melalui terowong CONNECT yang diterima ke destinasi itu, bukan hanya ke pendengar proksi.

Periksa pembantu sebelum menyerahkan strim: tolak 407 atau respons gagal lain, kekalkan had masa persediaan dan tutup socket yang ditolak. Peristiwa connect HTTP Node termasuk bait head yang sudah dibaca selepas pengepala; kekalkan penimbal tidak kosong dengan penyerahan strim yang sesuai, contohnya socket.unshift(head). Ia mungkin mengandungi sapaan SSH.

Serahkan socket segera, kemudian tutup kerja SFTP yang selesai dengan await client.end(). HTTP Agent di tempat lain tidak mencipta pengangkutan SSH ini, dan akaun CONNECT berasingan daripada akaun SSH.

Artikel berkaitan