[Tutor] ssh script

Eric Brunson brunson at brunson.com
Wed Jan 23 17:51:42 CET 2008

washakie wrote:
> Hello, I'm trying to write a script which will allow me to create a reverse
> tunnel from a remote machine using SSH -R
> I know the reverse tunnel script works on it's own run from the shell, but I
> don't want to leave it open always... does anyone have any ideas on how to
> make this work? There seems to be something wrong with the subprocess call
> such that it just hangs on the remote side...
> #!/usr/bin/python
> import os, time, subprocess
> REMOTE_HOME='../'  #mounted drive to REMOTE_HOME from LOCAL_MACHINE
> cmd = 'while true; do ssh -R 8022:localhost:22 MyUserName at RemoteHost ; sleep

You probably need to add "-t" to the ssh invocation since you won't have 
a controlling terminal.

If that doesn't fix it, then try inserting some debugging output to know 
what's going on.

> 60; done'
> while 1:
> 	while os.path.exists(os.path.join(REMOTE_HOME,'mySecretFile'):
> 		proc=subprocess.call(cmd,shell='True')
> 	if proc: os.kill(proc.pid)
> 	if os.path.exists(os.path.join(REMOTE_HOME,'KillScript'):
> 		break

More information about the Tutor mailing list