Как использовать Connection в Fabric 2? - PullRequest
0 голосов
/ 06 июня 2018

Я пытаюсь подключиться к хосту и запустить команду с модулем Fabric 2, и у меня появляется эта ошибка:

Traceback (most recent call last):
  File "Utilities/fabfile.py", line 4, in <module>
    res.run('uname -s')
  File "<decorator-gen-3>", line 2, in run
  File "/usr/local/lib/python2.7/dist-packages/fabric/connection.py", line 29, in opens
    self.open()
  File "/usr/local/lib/python2.7/dist-packages/fabric/connection.py", line 501, in open
    self.client.connect(**kwargs)
  File "/home/trishnevskaya/.local/lib/python2.7/site-packages/paramiko/client.py", line 424, in connect
passphrase,
  File "/home/username/.local/lib/python2.7/site-packages/paramiko/client.py", line 715, in _auth
raise SSHException('No authentication methods available')
paramiko.ssh_exception.SSHException: No authentication methods available

Простой код из документов (http://docs.fabfile.org/en/latest/getting-started.html):

from fabric import Connection

res = Connection('<host-ip>')
res.run('uname -s')

Accodingв документах мне не нужны специальные конфиги, но это не работает ...

ткань 2.1.3питон 2.7.14

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Я сталкиваюсь с той же проблемой.Вместо того, чтобы передавать файл ключа SSH, как предлагалось ранее, другой тривиальный способ его сортировки может состоять в передаче пароля (это было бы хорошо только на этапе тестирования / разработки).

import getpass
from fabric import Connection, Config
sudo_pass = getpass.getpass("What's your user password?\n")
config = Config(overrides={'user': '<host-user>', 'connect_kwargs': {'password': sudo_pass}})
c = Connection('<host-ip>', config=config)
c.run('uname -s')
0 голосов
/ 19 июля 2018

Следующие работы для меня.

connect_kwargs = {"key_filename":['PATH/KEY.pem']}
with Connection(host="EC2", user="ubuntu", connect_kwargs=connect_kwargs) as c:
    c.run("mkdir abds")
...