
Ich bin ein Softwareentwickler und versuche, eine Verbindung zum Axway Tumbleweed-Server eines Kunden herzustellen, um Dateien von einem Windows-Server abzurufen. Zu Beginn versuche ich, Standardtools wie FileZilla und PuTTY zu verwenden, um eine Vorstellung davon zu bekommen, wie es funktioniert, und mir selbst zu beweisen, dass es überhaupt möglich ist, bevor ich mit dem Programmieren beginne. Ich habe jedoch ehrlich gesagt keine Ahnung, ob Tumbleweed mit FileZilla überhaupt wie ein SFTP aufgerufen werden kann oder ob ich ein spezielles SSH-Dateiservertool oder so etwas benötige.
Ich starre seit Tagen auf die Informationen, die sie uns gegeben haben, und durchforste das Internet und kann anscheinend nicht herausfinden, ob das, was ich tun soll, überhaupt möglich ist. Einige Artikel und Antworten scheinen zu sagen: „FileZilla und PuTTY sind mit öffentlichen Schlüsseln kompatibel“, und einige sagen: „Sie müssen über die PPK-Datei verfügen, um eine Verbindung zu einem Remote-Server herzustellen.“
Nach meinem Verständnis der Kryptographie macht es Sinn, mir ihren öffentlichen Schlüssel zu senden, damit meine Seite die Kommunikation mit dem angegebenen Schlüssel verschlüsseln und an sie senden kann und sie ihren privaten Schlüssel verwenden, um sie zu entschlüsseln, aber wie mache ich das eigentlich?TunEs?
Mir ist gegeben worden:
- Eine .pub-Datei, mit der PuTTY und FileZilla absolut nichts anfangen können
- Eine URL für einen Server, die zumindest per DNS in eine IP aufgelöst wird, bei Filezilla jedoch eine Zeitüberschreitung auftritt, nachdem festgestellt wurde, dass die URL gültig ist
- Ein Ordnerpfad zum Ablegen von Dateien
Wenn ich versuche, die .pub-Datei irgendwo in PuTTYgen oder PAgeant zu importieren, erhalte ich die Meldung „Privater Schlüssel konnte nicht geladen werden (öffentlicher SSH-2-Schlüssel (RFC 4716-Format))“. Ich habe natürlich ein bisschen nach dem Fehler gegoogelt und das Einzige, was ich sagen kann, ist, dass der Teil „öffentlicher SSH-2-Schlüssel (RFC 4716-Format)“ wahrscheinlich das Format der Datei beschreibt, die ich erhalten habe.
Kann mir jemand erklären, wie ich mich mit nur diesen Informationen mit einem Server verbinden und eine Datei hinterlegen kann? Oder warum mein Verständnis der Situation falsch und eigentlich nicht möglich ist? Oder beides?
Antwort1
Ich habe ehrlich gesagt keine Ahnung, ob auf Tumbleweed überhaupt wie auf ein SFTP mit FileZilla zugegriffen werden kann oder ob ich ein spezielles SSH-Dateiserver-Tool oder so etwas brauche.
SFTP ist die Standardmethode zum Übertragen von Dateien über SSH. Wenn Sie aufgefordert wurden, Dateien über SSH hochzuladen,höchstwahrscheinlichmeinen Sie SFTP, in diesem Fall würden FileZilla oder WinSCP die Aufgabe erledigen.
(PuTTY selbst hat keinen grafischen SFTP-Client, sondern nur einen Befehlszeilen-Client), aber WinSCP basiert auf dem PuTTY-Kern – jeder Server und jedes Schlüsselformat, das PuTTY unterstützt, wird auch von WinSCP unterstützt.)
Nach den wenigen Informationen, die ich über Axway Tumbleweed finden konnte, verfügt es über eine Weboberfläche, akzeptiert aber auch SFTP-Verbindungen über SSH. Anscheinend kann es auch als SFTP-Client fungieren und Dateien abrufenausein anderer SFTP-Server.
Ich starre seit Tagen auf die Informationen, die sie uns gegeben haben, und durchforste das Internet und kann anscheinend nicht herausfinden, ob das, was ich tun soll, überhaupt möglich ist. Einige Artikel und Antworten scheinen zu sagen: „FileZilla und PuTTY sind mit öffentlichen Schlüsseln kompatibel“, und andere sagen: „Sie müssen über die PPK-Datei verfügen, um eine Verbindung zu einem Remote-Server herzustellen.“
In diesen Artikeln und Antworten (oder zumindest dem Teil, den Sie zitiert haben) werden so viele verschiedene Dinge vermischt, dass sie nutzlos und irreführend sind.
Kompatibilität mit dem SSH-Authentifizierungsmechanismus „Public-Key“ im Allgemeinen. Ja, praktisch alle SSH-Clients unterstützen die schlüsselbasierte Benutzerauthentifizierung.
Kompatibilität mit dem von der OpenSSH-Software verwendeten Dateiformat zum Speichern öffentlicher und privater Schlüssel (das normalerweise zwei Dateien erzeugt, „foo“ und „foo.pub“).
Ja, FileZilla und PuTTY können die Schlüsseldateien im OpenSSH-Format entweder direkt verwenden oder in ein verwendbares Format konvertieren (z. B. kann PuTTYgen sie in .ppk-Dateien importieren).
Von den beiden Dateien, die OpenSSHs ssh-keygen erzeugt ("somekey" und "somekey.pub"),nur die ehemaligeenthält alle notwendigen Daten – die .pub-Datei allein reicht nicht aus.
Endlich die Möglichkeit,nurein öffentlicher Schlüssel, um die SSH-Public-Key-Authentifizierung durchzuführen und sich beim Server anzumelden.
Nein – trotz seines Namens ist der Authentifizierungsmechanismuserfordert grundsätzlichdie Verwendung sowohl des öffentlichen als auch des privaten Teils eines Schlüsselpaares, und verschiedene Clients können dies nicht umgehen.
Daher hätte es keinen Sinn, Ihr Zitat aus dem Artikel so zu interpretieren, dass eine einzige Pub-Datei eine PPK-Datei vollwertig ersetzen kann – sie enthält nicht die erforderlichen Daten dafür, sondern wird normalerweise nur von einer anderen Datei begleitet, die diese Daten enthält.
Nach meinem Verständnis von Kryptografie ist es sinnvoll, mir ihren öffentlichen Schlüssel zu senden, damit meine Seite die Kommunikation mit dem angegebenen Schlüssel verschlüsseln und an sie senden kann und sie ihren privaten Schlüssel zum Entschlüsseln verwenden können. Aber wie mache ich das eigentlich?
Obwohl dies theoretisch Sinn macht, werden öffentliche Schlüssel in SSH überhaupt nicht auf diese Weise verwendet. Sie werden nicht zum Verschlüsseln tatsächlicher Kommunikation verwendet, sondern nur zum Erstellen digitaler Signaturen.
Zunächst verwendet SSH den DH/ECDH-Algorithmus, um den Verschlüsselungsschlüssel zu ermitteln, wobei der Server seinen „Host-Schlüssel“ nur verwendet, um die Ergebnisse zu signieren und seine Identität zu beweisen.
Später während der Anmelde-/Authentifizierungsphase verwendet Ihr Client Ihr eigenes Schlüsselpaar, um Ihre Identität durch Signieren einiger zufälliger Daten zu beweisen, die der Server überprüft. Zu diesem Zeitpunkt ist die Verschlüsselung bereits aktiviert und Ihr Schlüsselpaar hat keinerlei Einfluss darauf.
Kann mir jemand erklären, wie ich mich mit nur diesen Informationen mit einem Server verbinden und eine Datei hinterlegen kann? Oder warum mein Verständnis der Situation falsch und eigentlich nicht möglich ist? Oder beides?
Ich werde sagen, dass Sie keine Verbindung zum Server herstellen können, da Ihnen nicht genügend Informationen gegeben wurden. Aber es könnte ein paar Möglichkeiten geben:
Sie haben die falsche Datei erhalten. Beispielsweise hat der Systemadministrator ein SSH-Schlüsselpaar für Sie erstellt
ssh-keygen
, indem er die Dateien „jrud_key“ und „jrud_key.pub“ erhalten hat und Ihnen die erstere per E-Mail schicken wollte – hat aber versehentlich die letztere angehängt.Dies ist durchaus möglich, insbesondere wenn Sie zuvor noch keine SSH-Schlüsselpaare verwendet haben und der Administrator den Vorgang durch die Erstellung eines Schlüsselpaars für Sie beschleunigen wollte.
Sie gaben dir dieServersöffentlicher Schlüssel, damit Sie überprüfen können, ob Sie eine Verbindung zum echten Server herstellen.
Dies ist zwar möglich, aber unwahrscheinlich. Die meisten Systemadministratoren würden Ihnen entweder den SchlüsselFingerabdruck(denn das ist, was Ihr Kunde Ihnen zur Überprüfung zeigen wird) oder er würde sich nicht die Mühe machen, überhaupt etwas preiszugeben.
Wenn dies der Fall wäre, hätten sie Ihnen außerdem einige Benutzerauthentifizierungsdetails gegeben – wenn nicht eine private Schlüsseldatei, dann ein Passwort oder eine Aufforderung, Ihre eigene .pub-Datei zu sendenzu ihnenstattdessen.
Sie möchten, dass Sie etwas anderes als SSH/SFTP verwenden.