Вот мой очень простой фрагмент кода, предназначенный для подключения к ssh-серверу через локальный socks-прокси через порт 8888
import subprocess
host = 'X.x.X.x'
port = 22
subprocess.call( [
"ssh",
"-o", "ProxyCommand='/bin/socat - SOCKS4A:127.0.0.1:%h:%p,socksport=8888'",
"-p", "{}".format(port),
"root@{}".format(host)
])
Однако при попытке выполнения я получил ужасное сообщение об ошибке.
/bin/bash: /bin/socat - SOCKS4A:127.0.0.1:X.x.X.x:22,socksport=8888: No such file or directory
ssh_exchange_identification: Connection closed by remote host
Что такое trange, так это работа при копировании, вставляющая непосредственно полную строку команды в оболочку.