2

我想使用 Twisted 通过 SSH 隧道发出 HTTP 请求。我见过使用 Twisted 设置 SSH 本地端口转发的示例,但这不是我所追求的。

相反,在我看来,应该可以使用 Twisted 将 HTTP 流量直接包装在 SSH 隧道内 - 即。无需设置 Twisted 来侦听本地端口以转发流量。

我在 conch.ssh.forwarding 中检查了 Twisted Conch 命令行脚本是如何进行本地端口转发的。是否应该以某种方式与 HTTP 客户端集成?或者,另一方面,我读过 SSHChannel 支持 twisted.internet.interfaces.ITransport 接口,因此可以将它提供给协议以通过安全连接运行它们?然后是 Twisted 中的新端点 API:我想知道用于从 ssh 服务器向前传输流量的端点是否有意义?

或者是其他东西?

4

1 回答 1

2

我想知道从 ssh 服务器开始传输流量的端点是否有意义?

这会很有意义。

有一个端点将协议连接到使用 Conch - 远程运行的命令的标准输入输出twisted.conch.endpoints.SSHCommandClientEndpoint。并且已经开始(但似乎停滞不前)在端点上使用 Conch 将协议连接到远程子系统(例如 sftp)。使用 Conch 通过隧道连接连接到远程地址的端点将是一个很好的补充。

开始实现的分支SSHSubsystemClientEndpoint可能有助于了解编写这个新端点所涉及的内容。在该分支中可能还开始了有用的重构,从而更容易添加这样的新端点(因为该分支恰好添加了第二个 conch 端点,并且可能必须做一些工作来使来自第一个 conch 端点的一些代码更容易重新 -可用)。

于 2014-05-07T19:57:40.450 回答