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

时间:2011-01-13 22:33:48

标签: 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上)
  6. 结果是计算机2现在与计算机1建立了SSH会话,几乎就像计算机2启动了正常的SSH会话一样(但是使用服务器1的IP而不是计算机1)

    我需要这个,因为我无法在计算机1的网络上向前移动(路由器不支持它)。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我发现了如何做到这一点,使用了扭曲的(难以找到)海螺的例子@ http://twistedmatrix.com/trac/browser/trunk/twisted/conch/scripts/conch.py

我将能够从中提取我需要的东西。感谢!!!!