Hostschlüssel mit pysftp überprüfen
Dieser Artikel befasst sich mit dem Problem, das bei der Verwendung von pysftp zur Überprüfung des SSH-Hostschlüssels anhand der Datei „known_hosts“ auftritt. Der ursprüngliche Fehler tritt auf, weil pysftp den Host-Schlüssel nicht am angegebenen Speicherort findet.
Aufgabe von pysftp und alternative Verwendung von Paramiko
Die pysftp-Bibliothek weist bekannte Fehler in Bezug auf auf Host-Schlüsselverwaltung, und es wird empfohlen, stattdessen Paramiko direkt zu verwenden. Paramiko bietet eine robuste und gut unterstützte API für SSH-Verbindungen, einschließlich der Überprüfung von Host-Schlüsseln.
Verwaltung von Host-Schlüsseln mit Paramiko
Paramiko ermöglicht eine differenzierte Kontrolle über den Host Schlüsselverwaltung mit der CnOpts-Klasse. Durch Festlegen von cnopts.hostkeys können Sie vertrauenswürdige Hostschlüssel verwalten und der Bibliothek den erwarteten Schlüssel für den Zielhost bereitstellen.
Hostschlüssel aus der Datei bekannter Hosts laden (empfohlen)
Der sicherste Ansatz besteht darin, eine bekannte Hosts-Datei zu verwenden, die die öffentlichen Schlüssel vertrauenswürdiger Hosts enthält. Diese Datei befindet sich normalerweise unter ~/.ssh/known_hosts auf Unix-Systemen. Die CnOpts-Klasse bietet eine praktische Methode zum Laden von Hostschlüsseln aus dieser Datei.
Hostschlüssel manuell hinzufügen (nicht empfohlen)
Als weniger sichere Alternative können Sie hinzufügen Hostschlüssel manuell mithilfe der HostKeys-Klasse erstellen. Dies erfordert das Extrahieren des Host-Schlüssels aus der Datei „Known Hosts“ oder das Abrufen direkt vom Server über SSH.
Verwenden des Dienstprogramms ssh-keyscan für den Remote-Host-Schlüsselabruf
The Mit dem Dienstprogramm ssh-keyscan kann der Hostschlüssel für einen Remote-Server im erforderlichen Format abgerufen werden. Beachten Sie jedoch, dass dieser Ansatz nicht funktioniert, wenn der Server einen nicht standardmäßigen Port verwendet.
Automatische Hostschlüssel-Hinzufügung mit AutoAddPolicy (Vorsicht)
Wenn Sie pysftp möchten Um Hostschlüssel neuer Hosts automatisch zuknown_hosts hinzuzufügen, können Sie die Klasse AutoAddPolicy verwenden. Es ist jedoch wichtig, Vorsicht walten zu lassen und die Host-Schlüssel unabhängig zu überprüfen, bevor eine Vertrauensstellung hergestellt wird.
Erhalten des Host-Schlüssel-Fingerabdrucks zur Fingerabdrucküberprüfung
Aus Gründen der absoluten Sicherheit wird dies empfohlen um den Host-Schlüssel-Fingerabdruck manuell abzurufen und ihn direkt zu überprüfen, anstatt sich auf den Remote-Abruf zu verlassen.
Das obige ist der detaillierte Inhalt vonWie kann ich SSH-Hostschlüssel ordnungsgemäß überprüfen, wenn ich pysftp oder Paramiko verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!