import SftpClient from 'ssh2-sftp-client';

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

Fornisci host, porta, account e policy della chiave host della destinazione esistente in sshOptions. Il socket deve già passare attraverso un tunnel CONNECT accettato verso quella destinazione, non solo verso l'ascoltatore del proxy.

Controlla l'helper prima di consegnare lo stream: rifiuta 407 o altre risposte fallite, mantieni le scadenze di configurazione e chiudi i socket rifiutati. L'evento connect HTTP di Node include i byte head già letti dopo le intestazioni; conserva un buffer non vuoto con la corretta consegna dello stream, per esempio socket.unshift(head). Può contenere il saluto SSH.

Consegna subito il socket, poi chiudi il lavoro SFTP completato con await client.end(). Un HTTP Agent altrove non crea questo trasporto SSH, e l'account CONNECT è separato dall'account SSH.

Articoli correlati