Chuyển socket CONNECT đã hoàn tất cho ssh2-sftp-client
Giữ lời chào SSH đã được đệm sau các tiêu đề proxy, rồi dùng sock với các tùy chọn SSH thông thường của đích đến.
import SftpClient from 'ssh2-sftp-client';
const client = new SftpClient();
await client.connect({
...sshOptions,
sock: tunnelSocket,
});Cung cấp máy chủ, cổng, tài khoản và chính sách khóa máy chủ của đích hiện có trong sshOptions. Socket phải đã đi qua một đường hầm CONNECT được chấp nhận đến đích đó, chứ không chỉ đến trình lắng nghe proxy.
Kiểm tra trợ giúp trước khi chuyển luồng: từ chối 407 hoặc các phản hồi thất bại khác, giữ nguyên thời hạn thiết lập và đóng các socket bị từ chối. Sự kiện connect HTTP của Node bao gồm các byte head đã được đọc sau tiêu đề; giữ bộ đệm không rỗng với việc chuyển luồng phù hợp, ví dụ socket.unshift(head). Nó có thể chứa lời chào SSH.
Chuyển socket ngay, rồi đóng công việc SFTP đã hoàn tất bằng await client.end(). HTTP Agent ở nơi khác không tạo phương tiện SSH này, và tài khoản CONNECT tách biệt với tài khoản SSH.