Commit 8173925b authored by Avery Pennarun's avatar Avery Pennarun

ssh.py: allow hostnames of the form hostname:port

Feature requested by Wayne Scott and Ed Maste.
parent 0cdd72c8
......@@ -45,7 +45,7 @@ def parse_ipport(s):
optspec = """
sshuttle [-l [ip:]port] [-r [username@]sshserver] <subnets...>
sshuttle [-l [ip:]port] [-r [username@]sshserver[:port]] <subnets...>
sshuttle --iptables <port> <subnets...>
sshuttle --server
--
......
......@@ -2,8 +2,13 @@ import sys, os, re, subprocess, socket
import helpers
from helpers import *
def connect(rhost):
def connect(rhostport):
main_exe = sys.argv[0]
l = (rhostport or '').split(':', 1)
rhost = l[0]
portl = []
if len(l) > 1:
portl = ['-p', str(int(l[1]))]
nicedir = os.path.split(os.path.abspath(main_exe))[0]
nicedir = re.sub(r':', "_", nicedir)
myhome = os.path.expanduser('~') + '/'
......@@ -29,7 +34,7 @@ def connect(rhost):
sh -c PATH=%s:'$HOME'/%s:'$PATH exec sshuttle --server%s'
""" % (escapedir, escapedir2,
' -v' * (helpers.verbose or 0))
argv = ['ssh', rhost, '--', cmd.strip()]
argv = ['ssh'] + portl + [rhost, '--', cmd.strip()]
debug2('executing: %r\n' % argv)
(s1,s2) = socket.socketpair()
def setup():
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment