paramiko и python ssh

Я пытаюсь подключить установку ssh-соединения с главной машиной. Вот мой код:

def make_connection_paramiko(Username, Password): ssh = paramiko.SSHClient() hostname = "username@hobbes.cs.ucsb.edu" ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.load_host_keys(os.path.expanduser(os.path.join("~", ".ssh", "known_hosts"))) try: ssh.connect(hostname, port = 22, username = 'username', password = 'password') except paramiko.AuthenticationException: print "Login failed! %s\t%s" %(username, password) except socket.timeout: print "Socket connection failed" #print str(value) +"\t"+ message else: print "Login Successful! %s\t%s" %(username, password) ssh.close() 

Но по какой-то причине я продолжаю получать следующую ошибку:

 Traceback (most recent call last): File "pass_crack.py", line 56, in <module> begin_cracking(wordlist, username) File "pass_crack.py", line 45, in begin_cracking make_connection_paramiko(username, "hello") File "pass_crack.py", line 29, in make_connection_paramiko ssh.connect(hostname, port = 3600, username = 'xxxxxxx', password = 'xxxxxx') File "/usr/lib/python2.7/dist-packages/paramiko/client.py", line 282, in connect for (family, socktype, proto, canonname, sockaddr) in socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM): socket.error: [Errno 2] No such file or directory 

Я пытаюсь подключиться с помощью paramiko с python, и я использую Ubuntu 13.04. Я не уверен, что не так, когда я пытался подключиться, используя те же значения для имени хоста, имени пользователя и пароля, используя pxssh что работает соединение, поэтому почему он не работает с paramiko?

заранее спасибо

One Solution collect form web for “paramiko и python ssh”

Ответ

Это не имя хоста:

 hostname = "username@hobbes.cs.ucsb.edu" 

Вместо этого это строка соединения. Удалите username@ , и он должен подключиться снова.

Дальнейшая информация

Помните, что вы всегда можете посмотреть исходный код . Здесь вы можете увидеть, что имя хоста передается непосредственно в вызов raw-сокета :

 socket.getaddrinfo(hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM) 

Посмотрев на help для socket.getaddrinfo , мы видим, что он пытается разрешить фактическое имя хоста, похожее на синтаксис, необходимый для nslookup :

 >>> print socket.getaddrinfo.__doc__ getaddrinfo(host, port [, family, socktype, proto, flags]) -> list of (family, socktype, proto, canonname, sockaddr) Resolve host and port into addrinfo struct. 

Наконец, я бы рекомендовал рассмотреть возможность включения debugging в paramiko и других базовых библиотеках:

 >>> import logging >>> logger = paramiko.util.logging.getLogger() >>> logger.setLevel(logging.DEBUG) 
  • Как scp в python?
  • Параметрическая проверка подлинности
  • Как сгенерировать пары ключей SSH с помощью Python
  • paramiko no существующее исключение сеанса
  • Как сохранить сессию ssh не истек с помощью paramiko?
  • Как скопировать файл на удаленный сервер в Python с помощью SCP или SSH?
  • Парамико: создание PKey из строки открытого ключа
  • Проверьте, существует ли путь на удаленном хосте, используя paramiko
  • Прочитать удаленный файл с использованием подпроцесса python и ssh?
  • Запуск задания Hadoop MapReduce через Python без PuTTy / SSH
  • Трудно установить библиотеку pshon ssh на windows (ssh был заменен на «paramiko»)
  •  
    Interesting Posts for Van-Lav

    Прокси-IP для инфраструктуры Scrapy

    Как объединить систему ODE с системой FEM

    Разделение потребителя и производителя сельдерея

    Проверьте, установлен ли пакет

    Pandas Python – может использоваться с векторизованными входами

    Как конкатенировать три файла excls xlsx с помощью python?

    Как эффективно изменить цвет в анимации кругов патчей в matplotlib?

    Травление переименования, выставленное Boost.Python

    Идиоматическое ведение журнала Python: форматирование строки + список аргументов против форматирования строки строки – что предпочтительнее?

    Использование метода класса __new__ в качестве фабрики: __init__ вызывается дважды

    Изменение стиля маркера в разрезе по третьей переменной

    Какова область действия параметра по умолчанию в Python?

    Как добавить трендлингу в графических диаграммах ppton matplotlib dot (разброс)?

    Поиск замены шаблонов с использованием лямбда

    Скриншот Python windows 7 без PIL

    Python - лучший язык программирования в мире.