【发布时间】:2011-09-12 00:17:46
【问题描述】:
我需要创建一个 ssh 隧道,然后做一些事情,然后拆除隧道。
我一直在尝试这样做:
def runCmd(self,cmd):
args = shlex.split(cmd)
return subprocess.Popen(args)
def openTunnel
cmd = 'ssh -f -N -L 1313:localhost:1313 userid@server.com'
self.TunnelObj = self.runCmd(cmd)
这创建了我的隧道。 然后我可以做我需要做的事情。现在我想拆除隧道。
def closeSocket(self):
print '\nClosing Tunnel\n'
if self.TunnelObj.returncode == None:
print '\nabout to kill\n'
self.TunnelObj.kill()
但隧道仍然开放。一个 ssh 会话仍然存在,并且端口仍然被分配。
如何关闭这条隧道?
【问题讨论】:
标签: python popen ssh-tunnel