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セッションはまだ存在し、ポートはまだ割り当てられています。
このトンネルをシャットダウンするにはどうすればよいですか?