我想使用 Java 库 JSch 通过 SSH 与 HTTPS 服务器通信。图书馆网站上的 Streamforwarding 示例易于使用,即使在 SO 上也有代码(Java JSch create channel to access remote server via HTTP(s))。
问题是当我想使用 HttpsURLConnection
类通过 HTTPS 进行通信时。例如,为了发出 GET
请求,我尝试对来自 Channel
类(来自 JSch)的 InputStream
和来自 InputStream
进行操作HttpsUrlConnection
。
最佳答案
通过 SSH 连接将本地端口转发到远程 HTTP 服务器端口:
Session session = jsch.getSession("username", "ssh.example.com");
// ...
session.connect();
int forwardedPort = session.setPortForwardingL(0, "http.example.com", 80);
现在您可以将 HttpsUrlConnection
连接到 http.example.com
和端口 forwardedPort
。
关于java - 使用 JSch 的 SSH 内部的 HTTPS 隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54993496/