Дайын CONNECT сокетін ssh2-sftp-client-ке тапсырыңыз
Прокси тақырыптарынан кейін буферде тұрған SSH сәлемдесуін сақтап, содан кейін sock-ты межелі жердің әдеттегі SSH параметрлерімен пайдаланыңыз.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Қолданыстағы межелі хостты, портты, тіркелгіні және хост кілті саясатын sshOptions ішінде көрсетіңіз. Сокет әлдеқашан қабылданған CONNECT туннелі арқылы сол межеге баруы керек, тек прокси тыңдаушысына емес.
Ағынды тапсырмас бұрын көмекшіні тексеріңіз: 407 немесе басқа сәтсіз жауаптарды қабылдамаңыз, орнату мерзімдерін сақтаңыз және қабылданбаған сокеттерді жабыңыз. Node-тың HTTP connect оқиғасы тақырыптардан кейін оқылған head байттарын қамтиды; бос емес буферді тиісті ағын тапсыруымен сақтаңыз, мысалы socket.unshift(head). Онда SSH сәлемдесуі болуы мүмкін.
Сокетті дереу тапсырыңыз, содан кейін аяқталған SFTP жұмысын await client.end() арқылы жабыңыз. Басқа жердегі HTTP Agent бұл SSH тасымалын жасамайды, ал CONNECT тіркелгісі SSH тіркелгісінен бөлек.