übertragen Ich verwende tFTPConnection, um eine Verbindung zu SFTP mit einer öffentlichen Schlüsseldatei und ich bin erfolgreich in der Lage, eine Verbindung zu ihm herzustellen.
Der String MYFilename ist im Inneren des tJava
Ich brauche einige Dateien von der lokalen zur Übertragung auf SFTP eingestellt. Ich benutze einen tFTPPut für diesen Zweck.
. Wenn ich jedoch mit SFTP verbunden bin, kann ich mithilfe einer Passwortauthentifizierung alle Dateien erfolgreich übertragen. Aber wenn ich eine Verbindung mit der Schlüsseldatei herstelle, bekomme ich den Fehler 'No Match File Exists' und es werden keine Dateien übertragen.
Ich weiß nicht, was mir im Code fehlt.
Bitte helfen.
Der Fehler, die ich erhalten, ist als unten-
Datei nicht mit SFTP-Schlüssel-Authentifizierung in tFTPPut inTalend
Antwort
Meen,
auf der Info Basierend Verfügung gestellt und die Screenshots Ihr Problem auf Ihrer Konfiguration und Distribution basiert und Ihre Schlüssel. Um mit der öffentlichen Schlüsselmethode eine Verbindung zu einem SFTP-Server herzustellen, müssen Sie zuerst ein öffentliches/privates Schlüsselpaar generieren. Dann müssen Sie Ihren öffentlichen Schlüssel auf dem Server installiert haben. In Ihrem Talend-Job sollte der private Schlüssel context.private_key sein (mit dem Pfad zu Ihrem eigentlichen privaten Schlüssel). Sie zeigen auf Ihren öffentlichen Schlüssel (context.public_key). Wenn Ihr privater Schlüssel eine Passphrase hat (Sie sollten beim Generieren von öffentlichen/privaten Schlüsselpaaren immer eine Passphrase verwenden), müssen Sie diese ebenfalls eingeben.
Talend wird dann Ihren privaten Schlüssel verwenden, um eine Signatur zu generieren. Der Server verwendet Ihren öffentlichen Schlüssel, um die Signatur zu authentifizieren. Dies wird anstelle eines Passworts verwendet. Es ist sicherer, aber schwieriger einzurichten.
Die andere Sache ist, bevor Sie irgendeine Art von FTP in Talend einrichten, immer einen Client (wie WINSCP) verwenden, um zuerst irgendwelche Verbindungsknicke auszuarbeiten. Es ist viel einfacher, die grundlegenden Verbindungs- und Authentifizierungsprobleme auf diese Weise zu debuggen. Sobald Sie wissen, dass es funktioniert, übertragen Sie die richtige Einstellung zu Talend und alle Probleme von diesem Punkt sind viel einfacher zu lösen.
Sie können auch andere Probleme haben, aber basierend auf den Informationen, die Sie angegeben haben, ist dies, wo ich anfangen würde.
- 1. Talend: Generieren und txt-Datei und setzt in auf FTP
- 2. In Datei schreiben mit nicht funktionierendem FStream
- 3. Datei konnte nicht mit pafy
- 4. Datei nicht gefunden mit Taskplaner
- 5. HTML-Datei lädt mit Datei: /// aber nicht mit http: //
- 6. db-Datei nicht in Datei-Explorer (DDMS)
- 7. Datei mit ClassPathXmlApplicationContext nicht finden
- 8. Schreibe Datei mit Powershell nicht
- 9. Nicht in Datei java
- 10. Nicht in der Lage Datei mit subprocess mit Identität SSH
- 11. Kann Datei nicht in ausführbare Datei ändern
- 12. Datei kann nicht mit curl mit PHP
- 13. Upload Datei mit @ type = 'Datei' in IE11
- 14. Warum immer noch nicht gefunden Echo-Datei und nicht Datei in Dir mit PHP löschen?
- 15. mehrere Datei auswählen in Datei-Upload funktioniert nicht in IE8
- 16. Gradle nicht XML-Datei kopieren, die in den Krieg-Datei mit Java-Datei speichern, wenn es
- 17. gulp.dest druckt nicht in Datei
- 18. Nicht löschbare Datei in Cygwin
- 19. kann meine .css-Datei nicht mit meiner .html-Datei verbinden?
- 20. ignorieren Datei in Bower nicht
- 21. Kann pfx-Datei nicht aus Cer-Datei mit openssl erstellen
- 22. kann nicht in einer Datei
- 23. Migrationen Datei in Laravel nicht
- 24. Mit sed ersetzen Zeile in Datei mit einer anderen Datei
- 25. Datei in Webansicht nicht öffnen
- 26. Rsyslog schreibt nicht in Datei
- 27. Log4j2 AsyncLogger mit Roll Datei appender nicht Datei Zeilennummer zeigt
- 28. Datei kann nicht geöffnet mit boost :: iostreams :: Datei
- 29. HTML-Datei wird nicht mit meiner CSS-Datei verknüpft
- 30. Einfache Datei mit ostream_iterator Schreiben erstellt Datei, aber nicht schreiben
Vielen Dank @ E-LaRoche .. – Meen
Die Schlüsseldatei, die ich verwende, ist ein privater Schlüssel. (Sorry, ich nannte die Kontextvariable falsch). Es ist eine .key-Datei. Ich kann mich erfolgreich mit dem SFTP verbinden, aber keine Datei übertragen. Ich bekomme den folgenden Fehler - Ausnahme in der Komponente tFTPPut_18 2: Das System kann die angegebene Datei nicht finden. \t bei com.jcraft.jsch.ChannelSftp.throwStatusError (ChannelSftp.java:2297) \t bei com.jcraft.jsch.ChannelSftp._stat (ChannelSftp.java:1750) – Meen
Sie bitte die context.public_key mit dem wahren Pfad ersetzen mit das Dateiauswahl-Steuerelement Talend bietet. Es könnte einfach ein falscher Pfad sein, b. falsche Syntax in Pfadkontextvariable, c. Talend hat kein Zugriffsrecht auf den Pfad. Laufen Sie auf Windows oder Unix? –