2014-02-05 3 views
1

У меня есть эта часть кода моего файла cpe_scan.py:Файл не найден при использовании paramiko.ProxyComand

import Crypto 
import paramiko 
def runSshCmd(hostname, username, password, cmd, timeout=5): 
    conf = paramiko.SSHConfig() 
    conf.parse(open('/home/me/.ssh/config')) 
    host = conf.lookup(hostname) 
    print "Object host= ", host 
    print "Object host.get= ", host.get('proxycommand') 
    proxy = paramiko.ProxyCommand(host.get('proxycommand')) 
    print "Object proxy= ", proxy 

    client = paramiko.SSHClient() 
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
    client.connect(hostname=hostname, username=username, password=password, 
    allow_agent=False, look_for_keys=False, timeout=timeout, sock=proxy) 

    stdin, stdout, stderr = client.exec_command(cmd) 
    data = stdout.read() 
    print data 
    client.close() 

runSshCmd("1.2.3.4", "user", "passwd", "ls -l") 

Результат является:

Object host= {'hostname': '1.2.3.4', 'proxycommand': 'ssh [email protected] nc 5.6.7.8 22'} 
Object host.get= ssh [email protected] nc 5.6.7.8 22 
Traceback (most recent call last): 
File "cpe_scan.py", line 68, in <module> 
    runSshCmd("1.2.3.4", "user", "passwd", "ls -l") 
File "cpe_scan.py", line 48, in runSshCmd 
    proxy = paramiko.ProxyCommand(host.get('proxycommand')) 
File "build\bdist.win32\egg\paramiko\proxy.py", line 50, in __init__ 
File "C:\Python27\lib\subprocess.py", line 709, in __init__ 
    errread, errwrite) 
File "C:\Python27\lib\subprocess.py", line 957, in _execute_child 
    startupinfo) 
WindowsError: [Error 2] Impossibile trovare il file specificato 

Где «Impossibile trovare иль файл specificato "равно" Не удается найти указанный файл "на английском языке

Почему? Какой файл не найти?

Я использую python 2.7.6, paramiko 1.12.1, pycrypto 2.6.1 и ecdsa 0.10, и я запускаю на windows xp.

благодаря

ответ

0

Я ударил ту же ошибку при использовании ProxyCommand с SSH. Решено было указать полный путь к двоичным файлам ssh и nc (/usr/bin/[ssh|nc] в моем случае). Можете ли вы попробовать это и посмотреть, исправляет ли он проблему в вашем случае? Я уверен, что вы это знаете, но вы можете узнать путь к исполняемым файлам, используя which ssh и which nc.

Смежные вопросы