اتصال پروکسی شبکه به یک نشست JSch
پیش از باز کردن نشست SSH که انتقال SFTP از آن استفاده میکند، آداپتور HTTP CONNECT یا SOCKS5 در JSch را انتخاب کنید.
JSch پروکسی شبکه را روی نشست SSH قرار میدهد. کانال SFTP که روی همان نشست باز میشود، سپس از مسیر برقرارشده استفاده میکند.
برای نشستی که از قبل برای سرور SSH موردنظر پیکربندی شده است، پیش از اتصال یک دروازه HTTP CONNECT انتخاب کنید:
ProxyHTTP gateway = new ProxyHTTP("proxy.example", 8080);
session.setProxy(gateway);
session.connect(10000);
نشست همچنان مقصد SSH، پیکربندی ورود و سیاست کلید میزبان را نگه میدارد. نشانی دروازه واسطه را مشخص میکند. سیاست آن باید پورت واقعی SSH مقصد را مجاز کند. برای سرور SFTP با دسترسی عمومی روی مسیر عمومی مجاز، فهرست پروکسیهای HTTP نشانیهای دروازه را برای نمونه نخست ارائه میکند. از آداپتور پروکسی تازه و بدون اعتبارنامه پروکسی استفاده کنید و مجوز میزبان و پورت واقعی SSH را تأیید کنید.
برای سرویس SOCKS5، بهجای آن از آداپتور متناظر استفاده کنید:
session.setProxy(new ProxySOCKS5("proxy.example", 1080));
آداپتوری را انتخاب کنید که با پروتکل نقطه پایانی همخوان باشد. پروکسی HTTP و شنونده SOCKS یک مذاکره را نمیفهمند.
هرجا ورود پروکسی HTTP Basic در JSch مناسب باشد، پیش از اتصال gateway.setUserPasswd(proxyUser, proxyPassword) را فراخوانی کنید. حساب SSH همچنان روی نشست پیکربندیشده میماند. پس از اتصال نشست کانال SFTP را باز کنید و وقتی انتقال تمام شد کانال و نشست را قطع کنید.