Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich SSH-Hostschlüssel ordnungsgemäß überprüfen, wenn ich pysftp oder Paramiko verwende?

Wie kann ich SSH-Hostschlüssel ordnungsgemäß überprüfen, wenn ich pysftp oder Paramiko verwende?

DDD
Freigeben: 2024-12-04 15:20:12
Original
869 Leute haben es durchsucht

How Can I Properly Verify SSH Host Keys When Using pysftp or Paramiko?

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage