سلّم مقبس 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 أو أي ردود فاشلة أخرى، واحتفظ بمهلات الإعداد وأغلق المقابس المرفوضة. يتضمن حدث connect في HTTP من Node بايتات head المقروءة بعد الترويسات؛ احتفظ بمخزن غير فارغ عند تسليم الدفق، مثل socket.unshift(head). قد يحتوي على تحية SSH.
مرّر المقبس بسرعة، ثم أغلق حملة SFTP المكتملة عبر await client.end(). لا ينشئ HTTP Agent في مكان آخر هذا النقل عبر SSH، وحساب CONNECT منفصل عن حساب SSH.