Gắn proxy mạng vào một phiên JSch
Chọn bộ chuyển đổi HTTP CONNECT hoặc SOCKS5 của JSch trước khi mở phiên SSH mà một lần truyền SFTP sử dụng.
JSch đặt proxy mạng trên phiên SSH. Một kênh SFTP mở trên phiên đó sau đó dùng tuyến đã thiết lập.
Với một phiên đã cấu hình tới máy chủ SSH dự định, hãy chọn cổng HTTP CONNECT trước khi kết nối:
ProxyHTTP gateway = new ProxyHTTP("proxy.example", 8080);
session.setProxy(gateway);
session.connect(10000);
Phiên vẫn giữ đích SSH, cấu hình đăng nhập và chính sách khóa máy chủ. Địa chỉ cổng xác định bên trung gian. Chính sách của nó phải cho phép cổng SSH thực tế của đích. Với một máy chủ SFTP truy cập công khai trên tuyến công cộng được phép, danh sách proxy HTTP cung cấp địa chỉ cổng cho ví dụ đầu tiên. Dùng một bộ chuyển đổi proxy mới không có thông tin xác thực proxy và xác nhận quyền cho máy chủ và cổng SSH thực tế.
Với dịch vụ SOCKS5, hãy dùng bộ chuyển đổi tương ứng thay thế:
session.setProxy(new ProxySOCKS5("proxy.example", 1080));
Chọn bộ chuyển đổi khớp với giao thức của điểm cuối. Proxy HTTP và trình lắng nghe SOCKS không hiểu cùng một thỏa thuận.
Ở nơi đăng nhập proxy HTTP Basic của JSch phù hợp, hãy gọi gateway.setUserPasswd(proxyUser, proxyPassword) trước khi kết nối. Tài khoản SSH vẫn được cấu hình trên phiên. Mở kênh SFTP sau khi phiên kết nối và ngắt kênh cùng phiên khi lần truyền hoàn tất.