Heim >Backend-Entwicklung >Python-Tutorial >Wie kann die Ausnahme „Unbekannter Server' von Paramiko behoben werden?

Wie kann die Ausnahme „Unbekannter Server' von Paramiko behoben werden?

DDD
DDDOriginal
2024-12-04 09:13:12821Durchsuche

How to Resolve Paramiko's

Paramiko-Unbekannter-Server-Ausnahme: Gelöst

Beim Arbeiten mit der Paramiko-Bibliothek stoßen Benutzer möglicherweise auf die Ausnahme „Unbekannter Server“, die eine Verbindung verhindert Versuche. Dieses Problem tritt auf, wenn versucht wird, eine Verbindung zu Servern herzustellen, ohne dass im System oder in lokalen HostKeys-Objekten Hostschlüssel aufgezeichnet sind.

Lösung:

Um diese Ausnahme zu beheben, müssen Sie festlegen die Richtlinie, die beim Herstellen einer Verbindung zu unbekannten Servern verwendet werden soll. Standardmäßig lehnt Paramiko alle unbekannten Server ab, aber Sie können dieses Verhalten mit der AutoAddPolicy überschreiben.

Hier ist ein überarbeiteter Python-Codeausschnitt, der die AutoAddPolicy-Lösung hinzufügt:

import paramiko

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect('127.0.0.1', username=username, password=password)
stdin, stdout, stderr = client.exec_command('ls -l')

Durch Festlegen der AutoAddPolicy Paramiko fügt den Host-Schlüssel des unbekannten Servers automatisch zu seinem Host-Schlüssel-Cache hinzu und ermöglicht so zukünftige Verbindungen ohne Ausnahme.

Zusätzliche Optionen:

  • Host-Schlüssel speichern: Nach erfolgreicher Verbindung können Sie den Host-Schlüssel in einer Datei für speichern zukünftige Referenz:
ssh.get_host_keys().save('/some/file/path')
  • Loading Host Schlüssel: So laden Sie Hostschlüssel aus einer Datei für nachfolgende Verbindungen:
ssh.load_host_keys('/some/file/path')

Mit diesen Techniken können Sie sichere SSH-Verbindungen mit Paramiko herstellen, auch wenn Sie mit Servern ohne registrierte Hostschlüssel arbeiten .

Das obige ist der detaillierte Inhalt vonWie kann die Ausnahme „Unbekannter Server' von Paramiko behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn