IT序号网

android之ssh动态端口转发

lidabo 2025年12月25日 编程语言 18 0

我想使用 ssh 动态端口转发在我的安卓代码中。

我用了库jcraft,可惜这个库不支持动态端口转发并且只支持本地端口转发远程端口转发 .

换句话说,我想在我的 android 代码中像这样 ssh:

ssh -D 10000 user@host 

有谁能够帮助我?

请您参考如下方法:

JSCHSSH protocol 的 Java 实现。 .这不是 OpenSSH 的完全重新实现ssh命令行实用程序。在动态代理功能的情况下,JSCH 提供了通过 SSH session 隧道 TCP 连接的能力,但它不提供客户端接收要转发的连接所需的 SOCKS 代理服务器。

要完成这项工作,您将嵌入 SOCKS proxy进入您的应用程序。当客户端连接到应用程序的 SOCKS 端口(在您的示例中相当于端口 10000)时,它将使用 SOCKS 协议(protocol)告诉您的应用程序要连接到哪个主机和端口。

然后你的应用程序——可能已经使用 JSCH 来创建到某个远程服务器的 SSH session ——将使用 JSCH 打开一个 "direct-tcpip" channel到客户端请求的主机和端口。然后,您的应用程序将在 direct-tcpip channel 和请求代理的客户端之间中继数据。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!