Fabric: Wie stelle ich eine Verbindung mit einem Passwort her?

Erstellt am 21. Mai 2018  ·  4Kommentare  ·  Quelle: fabric/fabric

Dies ist, wenn mein öffentlicher Schlüssel auf dem Server vorhanden ist:

>>> c = Connection(host=ip, user='root', port=22)
>>> c.run('uname -s')
Linux
<Result cmd='uname -s' exited=0>

Dies ist, wenn mein öffentlicher Schlüssel vom Server entfernt wird:

>>> c = Connection(host=ip, user='root', port=22)
>>> c.run('uname -s')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<decorator-gen-3>", line 2, in run
  File "/usr/local/lib/python2.7/dist-packages/fabric/connection.py", line 23, in opens
    self.open()
  File "/usr/local/lib/python2.7/dist-packages/fabric/connection.py", line 488, in open
    self.client.connect(**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 424, in connect
    passphrase,
  File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 691, in _auth
    self._transport.auth_publickey(username, key))
  File "/usr/local/lib/python2.7/dist-packages/paramiko/transport.py", line 1450, in auth_publickey
    return self.auth_handler.wait_for_response(my_event)
  File "/usr/local/lib/python2.7/dist-packages/paramiko/auth_handler.py", line 212, in wait_for_response
    raise e
AttributeError: '_RSAPrivateKey' object has no attribute 'sign'

Wie übergebe ich das Passwort an Connection? PS: Ich konnte es in der neuen Dokumentation (2.0) nicht finden.

Hilfreichster Kommentar

Verbindung(host="[email protected]", connect_kwargs={"password": "111111"})

Alle 4 Kommentare

Verbindung(host="[email protected]", connect_kwargs={"password": "111111"})

Ich habe fast 50 Server mit demselben Benutzernamen und Kennwort. Wie kann ich das tun? Jeder Server und jedes Passwort kann ich nicht eingeben. Ich möchte wissen, wie es geht?

Ich habe fast 50 Server mit demselben Benutzernamen und Kennwort. Wie kann ich das tun? Jeder Server und jedes Passwort kann ich nicht eingeben. Ich möchte wissen, wie es geht?

Der beste Weg ist die Verwendung von SSH-Schlüsseln.

Wenn Sie dies lösen müssen, können Sie Ihrer fabfile.py diese Zeilen vor der Aufgabe hinzufügen:

env.user = "username"
env.password = "bestpasswordever"

Mit freundlichen Grüßen.

versucht, aber folgende Ausnahme erhalten: [Server] Ausführen der Aufgabe 'uptime'
[Server] ausführen: ps -ef|grep httpd | wc-l
c:\users\tmou\appdata\local\programs\python\python37-32\lib\site-packages\paramiko\ecdsakey.py:164: CryptographyDeprecationWarning: Unterstützung für unsichere Erstellung von öffentlichen
Zahlen aus verschlüsselten Daten werden in einer zukünftigen Version entfernt. Bitte verwenden Sie EllipticCurvePublicKey.from_encoded_point
self.ecdsa_curve.curve_class(), pointinfo

Schwerwiegender Fehler: Zeitüberschreitung beim Versuch, eine Verbindung zu c4t18815.itcs.hpe.com herzustellen (einmal versucht)

Zugrundeliegende Ausnahme:
Zeitüberschreitung

Abbruch.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen