import SftpClient from 'ssh2-sftp-client';

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

Mevcut hedef ana bilgisayarı, bağlantı noktasını, hesabı ve ana bilgisayar anahtarı ilkesini sshOptions içinde belirtin. Soket zaten kabul edilmiş bir CONNECT tüneli üzerinden o hedefe gitmeli, yalnızca proxy dinleyicisine değil.

Akışı devretmeden önce yardımcıyı denetleyin: 407 veya diğer başarısız yanıtları reddedin, kurulum sürelerini koruyun ve reddedilen soketleri kapatın. Node'un HTTP connect olayı, başlıklardan sonra zaten okunmuş head baytlarını içerir; boş olmayan arabelleği uygun akış devriyle koruyun, örneğin socket.unshift(head). İçinde SSH karşılaması olabilir.

Soketi hemen devredin, ardından tamamlanan SFTP işini await client.end() ile kapatın. Başka bir yerdeki HTTP Agent bu SSH taşımasını oluşturmaz ve CONNECT hesabı SSH hesabından ayrıdır.

İlgili makaleler