sshuttle doesn't autodetect python3 instead of 'python'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
sshuttle (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Dan Streetman | ||
Bionic |
Fix Released
|
Medium
|
Dan Streetman |
Bug Description
[impact]
connecting with sshuttle to a remote system where the only version of python is python3 named 'python3' and no binary named 'python' fails
[test case]
from a x/b system, attempt to sshuttle to a remote system where only 'python3' exists, and no 'python' binary exists
[regression potential]
any regression would likely cause problems with the initial sshuttle connection; it's unlikely any issues would be caused after the connection is successfully established.
[scope]
this is needed only in x/b.
this appears to be fixed upstream with commit 9b7ce2811ec3ef3
[original description]
sshuttle package implementation doesn't support Python 3.5 on remote host running Xenial and late from a machine <= Wily release.
This cause the connection to fail if the connection is negotiated from a Precise, Trusty or Wily machine and if the remote host is running Xenial (16.04).
Example took from "Wily" :
$ sshuttle -r <REMOTE_SERVER> <TARGET_
Starting sshuttle proxy.
UDP support requires tproxy; disabling UDP.
Binding redirector: 12300 12299
TCP redirector listening on ('127.0.0.1', 12299).
firewall manager ready method nat.
c : connecting to server...
c : executing: ['ssh', '<REMOTE_SERVER>', '--', 'P=python2; $P -V 2>/dev/null || P=python; exec "$P" -c \'import sys; skip_imports=1; verbosity=2; exec compile(
c : > channel=0 cmd=PING len=7 (fullness=0)
bash: line 0: exec: python: not found
Read line ""c : fatal: server died with error code 127
Changed in sshuttle (Ubuntu): | |
importance: | Undecided → Low |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
summary: |
- sshuttle doesn't support python 3.5 + sshuttle doesn't autodetect python3 instead of 'python' |
description: | updated |
Changed in sshuttle (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in sshuttle (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in sshuttle (Ubuntu Xenial): | |
importance: | Undecided → Medium |
Changed in sshuttle (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in sshuttle (Ubuntu Xenial): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in sshuttle (Ubuntu Bionic): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in sshuttle (Ubuntu): | |
status: | Confirmed → Fix Released |
Xenial (16.04) by default comes only with python3 (Python 3.5) installed.
The workaround is to install python 2.7 on the remote host using Xenial.
$ sudo apt-get install python -y
and then sshuttle work just fine