Problem:
Beim Verwenden von pysftp zum Herstellen einer SFTP-Verbindung ist ein Fehler aufgetreten aufgrund eines fehlenden Hostschlüssels in der Datei „known_hosts“. Das Terminalprogramm Putty speichert Hostschlüssel in der Windows-Registrierung, die sich vom erwarteten Speicherort von pysftp unterscheidet.
Lösung:
Die Verarbeitung von Hostschlüsseln durch pysftp weist bekannte Einschränkungen auf. Erwägen Sie den direkten Übergang zu Paramiko, da es eine größere Flexibilität bei der Host-Schlüsselverwaltung bietet.
Vermeiden Sie für Pysftp-Benutzer die Einstellung von cnopts.hostkeys = None, da dies die Sicherheit durch die Deaktivierung der Host-Schlüsselüberprüfung beeinträchtigt.
Verwenden Sie CnOpts.hostkeys, um vertrauenswürdige Hostschlüssel zu verwalten. Geben Sie eine „known_hosts“-Datei an, die den öffentlichen Schlüssel des Servers enthält, oder fügen Sie Schlüssel manuell mit CnOpts hinzu.
Eine Alternative besteht darin, das SSH-Keyscan-Tool von SSH zu verwenden, um den Hostschlüssel abzurufen und ihn der „known_hosts“-Datei hinzuzufügen. Dieser Ansatz ist zwar praktisch, weist jedoch Einschränkungen auf, z. B. funktioniert er nicht für nicht standardmäßige Server-Ports.
Um die Sicherheit zu erhöhen, beziehen Sie den Host-Schlüssel von einer vertrauenswürdigen Quelle, z. B. dem Serveradministrator, um zu verhindern, dass Angreifer ihn abfangen Schlüssel und Nachahmung des Servers.
Wenn eine Fingerabdruck-basierte Host-Schlüsselüberprüfung gewünscht wird, lesen Sie die Dokumentation zur Implementierung einer solchen Überprüfung mit pysftp oder Paramiko.
Das obige ist der detaillierte Inhalt vonWie kann ich Hostschlüssel bei Verwendung von pysftp sicher überprüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!