python - 如何从 Python Twisted 中进行 SSH 端口转发?

标签 python ssh twisted portforwarding

是否有使用 Conch 从 Twisted 中使用端口转发选项启动到远程机器的 SSH session 的示例,以便可以通过隧道传输正常的 TCP 流量?

场景:

我有一台运行基于 Twisted 的自定义 Protobuf RPC 服务的服务器和一台安装了基于 Twisted 的 RPC 客户端的机器。服务器也在运行 SSH。我不想直接与服务器上的 RPC 服务对话,而是希望从 RPC 客户端使用 SSH 连接到服务器,在服务器上设置端口转发,并使用 Protobuf 通过 SSH 隧道与 RPC 服务通信。

我已经能够手动设置端口转发并让 RPC 客户端通过将 RPC 客户端指向客户端盒上的本地端口来与 RPC 服务对话,我只是想知道如何在直接联系客户。

最佳答案

如果 Twisted 中有改进的文档以使用 Conch 做一些整洁的事情,那就太棒了(毕竟,还有多少其他可编程的 SSH 库?)。在那快乐的一天到来之前,阅读 conch 命令行工具的实现会有很大帮助。

在这里我们可以看到命令行中的端口转发选项在哪里被转换为通过 SSH 连接的一些操作:

https://github.com/twisted/twisted/blob/4ffbe9f6851dbe7e9172f55905f264ecf50da3a6/src/twisted/conch/scripts/conch.py#L226-L238

我想你问的是本地转发规则,所以 localForwards 循环大致做了你想做的事情。

关于python - 如何从 Python Twisted 中进行 SSH 端口转发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710928/

相关文章:

python - 如何在scrapy框架python中的start_urls列表中构造url

ubuntu - 如何为 Ubuntu 设置显示变量

python - 如何使用 SCP 或 SSH 在 Python (paramiko) 中递归地将完整目录复制到远程服务器?

php - 如何在CentOS 8下安装phpseclib?

python - 我有一个正在运行的扭曲 react 堆,如何连接到它?

python - PyTorch 嵌入层引发 "expected...cuda...but got...cpu"错误

Python语音识别产生不好的结果

python - 使用 twisted 处理文件

python - 无法使用 Python 将数据插入 sqlite3 数据库

python - 无法将项目添加到我的 Gtk.Window 之外的 GtkListBox