Przekaż gotowy socket CONNECT do ssh2-sftp-client
Zachowaj powitanie SSH już zbuforowane po nagłówkach proxy, a następnie użyj sock z typowymi opcjami SSH miejsca docelowego.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Podaj istniejący host, port, konto i politykę klucza hosta miejsca docelowego w sshOptions. Socket musi już prowadzić przez zaakceptowany tunel CONNECT do tego miejsca docelowego, a nie tylko do nasłuchującego proxy.
Sprawdź pomocnika przed przekazaniem strumienia: odrzuć 407 lub inne nieudane odpowiedzi, zachowaj terminy konfiguracji i zamknij odrzucone sockety. Zdarzenie connect HTTP w Node zawiera bajty head już odczytane po nagłówkach; zachowaj niepusty bufor z odpowiednim przekazaniem strumienia, na przykład socket.unshift(head). Może zawierać powitanie SSH.
Przekaż socket niezwłocznie, a następnie zamknij ukończoną pracę SFTP za pomocą await client.end(). HTTP Agent gdzie indziej nie tworzy tego transportu SSH, a konto CONNECT jest oddzielne od konta SSH.