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:
ssh.get_host_keys().save('/some/file/path')
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!