|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
import sys, subprocess
|
|
|
|
|
import sys, os, subprocess
|
|
|
|
|
|
|
|
|
|
stfu = open("/dev/null", "w")
|
|
|
|
|
|
|
|
|
@ -14,8 +14,13 @@ port = int(sys.argv[3])
|
|
|
|
|
keyfile = sys.argv[4]
|
|
|
|
|
session_key = sys.argv[5]
|
|
|
|
|
|
|
|
|
|
if run_command(["ssh", "%s@%s" % (user, host), "-i", keyfile, "cd /etc/cvm/command_daemon; echo '%s' > session_key && ./command_daemon" % session_key]) == 0:
|
|
|
|
|
if run_command(["autossh", "-f", "-i", keyfile, "-M", str(port + 1), "%s@%s" % (user, host), "-L", "%s:localhost:3434" % port, "-N"]) == 0:
|
|
|
|
|
if run_command(["ssh", "%s@%s" % (user, host), "-o", "UserKnownHostsFile=/etc/cvm/knownhosts", "-o", "StrictHostKeyChecking=no", "-i", keyfile, "cd /etc/cvm/command_daemon; echo '%s' > session_key && ./command_daemon" % session_key]) == 0:
|
|
|
|
|
# Make autossh verify the connection is still alive every 10 seconds.
|
|
|
|
|
os.environ["AUTOSSH_POLL"] = 10
|
|
|
|
|
os.environ["AUTOSSH_FIRST_POLL"] = 10
|
|
|
|
|
|
|
|
|
|
if run_command(["autossh", "-f", "-i", keyfile, "-M", str(port + 1), "-o", "UserKnownHostsFile=/etc/cvm/knownhosts", "-o", "StrictHostKeyChecking=no", "%s@%s" % (user, host), "-L", "%s:localhost:3434" % port, "-N"]) == 0:
|
|
|
|
|
sys.stdout.write("Tunnel established.\n");
|
|
|
|
|
exit(0)
|
|
|
|
|
else:
|
|
|
|
|
sys.stderr.write("Failed to establish tunnel.\n")
|
|
|
|
|