使用Fabric / Paramiko遍历SOCKS5代理时无输出

时间:2013-03-06 05:31:03

标签: python linux ssh fabric paramiko

尝试使用Fabric 1.6将SOCKS5代理遍历到RHEL5 Linux主机时,该命令会返回但不会向stdout返回任何输出。

$> fab -H myhost -f ./fabfile.py remote_test --show=debug
Using fabfile '/home/myuser/fabric/fabfile.py'
Commands to run: remote_test
Parallel tasks now using pool size of 1
[myhost] Executing task 'remote_test'
[myhost] run: echo testing
Enter SOCKS5 password for myuser:
[myhost] Login password for 'myuser':
$> echo $?
0
$>

remote_test功能是:

def remote_test():
    run('echo testing')

如果我针对非SOCKS5主机运行命令,它可以正常工作。

我正在运行最新的版本,虽然我还没有达到目的:

Python 2.7.3

Paramiko == 1.10.0

pycrypto == 2.6

fabric == 1.6.0

RHEL5.9

的OpenSSH-4.3p2-82.el5

我的〜/ .ssh / config如下所示:

Host *.domain
    ProxyCommand connect  -S socksproxy.domain:1080 %h %p

使用从http://www.meadowy.org/~gotoh/ssh/connect.c

构建的连接二进制文件

我无法从公司网络访问github,所以当我有机会时我会问那里。

有没有人知道为什么会发生这种情况?

由于 马特

1 个答案:

答案 0 :(得分:0)

我使用的是connect而不是面料,但答案肯定是一样的。 connect.c中有SOCKS5_PASSWORDHTTP_PROXY_PASSWORDCONNECT_PASSWORD做了你想做的事情。我有一个名为ssh-tbb的脚本,如下所示。

#!/bin/bash
export CONNECT_PASSWORD=""
exec ssh -o ProxyCommand="connect -5 -S 127.0.0.1:9150 %h %p" $*

理想情况下,应该调用此脚本ssh-tor并检测tor是否存在于端口9050或9150上。