python - 使用第三个系统在两台隔离机器之间建立 SSH 连接

标签 python networking ssh portforwarding

我想使用 Python 执行以下操作:

  1. 计算机 1 启动 SSH 服务器(可能使用twisted 或 paramiko)
  2. 计算机 1 连接到服务器 1(空闲连接)
  3. 计算机 2 连接到服务器 1
  4. 服务器 1 将计算机 2 的连接转发到计算机 1(连接不再空闲)
  5. 计算机 1 将服务器 1 的连接转发到监听 SSH 端口(在计算机 1 上)

结果是计算机 2 现在与计算机 1 建立了 SSH session ,几乎就像计算机 2 已启动正常的 SSH session 一样(但使用的是服务器 1 的 IP,而不是计算机 1 的 IP)

我需要这个,因为我无法在计算机 1 的网络上进行端口转发(路由器不支持它)。

最佳答案

我将使用 ssh 创建从服务器到本地系统的远程隧道 (-R)。如果您坚持使用 Python 执行此操作,那么可以使用 subprocess 模块。

关于python - 使用第三个系统在两台隔离机器之间建立 SSH 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4686104/

相关文章:

python - 在 Python Numba/NumPy 中实现的分摊 O(1) 滚动最小值

c - VxWorks sockLib 是否支持 setsockopt 可以使用的 SO_RCVTIMEO 选项来设置 recv 调用的超时,就像在 winsock 中一样?

linux - 交互式和非交互式 shell 中的环境变量

linux - 使用 Kate 从远程主机打开文件

Python BeautifulSoup 提取 PHP 链接

python - 是否可以并行化 bz2 的解压?

http - 监控、模拟、创建 HTTP 数据包

linux - 如果我使用 Putty 登录,Teamcity SSH Exec 无法执行我可以执行的命令

python - 如何通过 xmlrpc (python) 传输二进制数据?

java - 插入USB热点后简单的Java程序慢100倍