From d2f751f0d3fdd519c95a0bb8ef18d274e250bf1b Mon Sep 17 00:00:00 2001 From: Tony Kasparick Date: Tue, 16 Jun 2020 23:00:51 +0200 Subject: leave use of default port to ssh command to prevent overwriting ports configured in ~/.ssh/config if no port is specified, don't set the port explicitly to 22 --- sshuttle/ssh.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/sshuttle/ssh.py b/sshuttle/ssh.py index 8d9115d..5ecdec8 100644 --- a/sshuttle/ssh.py +++ b/sshuttle/ssh.py @@ -40,8 +40,9 @@ def parse_hostport(rhostport): and returns a tuple (username, password, port, host) """ - # default port for SSH is TCP port 22 - port = 22 + # leave use of default port to ssh command to prevent overwriting + # ports configured in ~/.ssh/config when no port is given + port = None username = None password = None host = rhostport @@ -116,6 +117,10 @@ def connect(ssh_cmd, rhostport, python, stderr, options): sshl = shlex.split(ssh_cmd) else: sshl = ['ssh'] + if port is not None: + portl = ["-p", str(port)] + else: + portl = [] if python: pycmd = "'%s' -c '%s'" % (python, pyscript) else: @@ -126,12 +131,12 @@ def connect(ssh_cmd, rhostport, python, stderr, options): if password is not None: os.environ['SSHPASS'] = str(password) argv = (["sshpass", "-e"] + sshl + - ["-p", str(port)] + + portl + [rhost, '--', pycmd]) else: argv = (sshl + - ["-p", str(port)] + + portl + [rhost, '--', pycmd]) (s1, s2) = socket.socketpair() -- cgit v1.2.3