So extrahieren Sie den SFTP-SSH-Schlüssel aus dem Schlüsselcache im FileZilla-FTP-Client

StackOverflow https://stackoverflow.com/questions/44089

  •  09-06-2019
  •  | 
  •  

Frage

Ich habe mit FileZilla über SFTP eine Verbindung zu einem Server hergestellt und akzeptiert, den SSH-Schlüssel des Servers zum Schlüsselcache in FileZilla hinzuzufügen.

Wie kann ich diesen zwischengespeicherten Schlüssel in eine Schlüsseldatei extrahieren, damit er über andere SFTP-Anwendungen verwendet werden kann, die die Bereitstellung einer Schlüsseldatei erfordern?

Ich konnte in der FileZilla-Dokumentation dazu nichts finden.

War es hilfreich?

Lösung

Wenn Sie den standardmäßigen OpenSh-Konsolenclient (Cygwin oder Linux) verwenden, werden Hostschlüssel einzeln pro Zeile in ~/.ssh/known_hosts gespeichert.Von dort aus müssen Sie nur noch herausfinden, welcher Teil dieses Hostschlüssels für Ihre Bibliothek benötigt wird.

Putty speichert auch Host-Schlüssel, scheint diese jedoch hexadezimal zu kodieren.Diese finden Sie unter HKCUR\Software\SimonTatham\PuTTY\SshHostKeys

Andere Tipps

Thomas hatte recht.FileZilla greift auf das PSFTP-Programm von PuTTY zurück und speichert die gespeicherten Schlüssel in einem Hex-Format codiert unter dem von ihm aufgeführten Registrierungsschlüssel (HKCUR\Software\SimonTatham\PuTTY\SshHostKeys).Ich brauchte den Schlüssel im Known_Hosts-Format, damit ich einen installieren konnte Windows-Version von OpenSh Auf seine Empfehlung hin habe ich mit dem SSH-Keyscan-Tool auf den Server zugegriffen und die Schlüsselinformationen im richtigen Format gespeichert:

ssh-keyscan -t rsa <my_ftp_ip_address> > c:\known_hosts
ssh-keyscan -t dsa <my_ftp_ip_address> > c:\known_hosts

Danke Thomas und SO!

Danke Dougman für den Tipp!

Um allen Neulingen beim Lesen Ihrer Antwort weiter zu helfen.
Vor dem Ausführen des SSH-Keyscans müssen, vorausgesetzt, dass OpenSh standardmäßig installiert ist, einige Befehle ausgeführt werden (weitere Informationen finden Sie in der Schnellstart-/Readme-Installation).
Hier sind meine Befehle, mit denen ich den Hostschlüssel erhalten kann.

C:\Program Files\OpenSSH\bin>mkgroup -l >> ..\etc\group
C:\Program Files\OpenSSH\bin>mkpasswd -l >> ..\etc\passwd
C:\Program Files\OpenSSH\bin>net start opensshd
The OpenSSH Server service is starting.
The OpenSSH Server service was started successfully.
C:\Program Files\OpenSSH\bin>ssh-keyscan -t rsa vivo.sg.m.com > c:\known_hosts
vivo.sg.m.com SSH-2.0-Sun_SSH_1.1

Wenn Sie lieber eine grafische Benutzeroberfläche verwenden möchten, können Sie den Hostschlüssel über das Protokollfenster oder das Popup-Fenster für die erstmalige Verbindung mithilfe des WinSCP-FTP-Clients abrufen: https://winscp.net/eng/docs/ssh_verifying_the_host_key

Sofern ich Sie nicht falsch verstehe:Das musst du nicht.

Wenn Sie mit einer anderen Anwendung eine Verbindung zum Server herstellen (z. B.:PuTTY) installiert und der Server noch nicht gesehen wurde, werden Sie aufgefordert, den Schlüssel zu akzeptieren.

Ich verstehe, warum Sie das vielleicht tun möchten, aber jede Anwendung könnte ihre eigene Methode zum Speichern von Schlüsseln haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top