Loading

Verbinden von SFTP mit SSH-Schlüssel – B2C Commerce Cloud

Veröffentlichungsdatum: Apr 29, 2025
Beschreibung

In verschiedenen Geschäftsszenarien muss eine Person möglicherweise in der benutzerdefinierten Codelogik eine Verbindung zu einem externen SFTP-Server herstellen. Dieser Knowledge-Artikel behandelt den Prozess der Verbindung mit einem SFTP-Server unter Verwendung des SSH-Schlüssels.

In diesem Artikel wird davon ausgegangen, dass der SSH-Schlüssel bereits richtig generiert wurde und dem Benutzer zur Verfügung steht.

Lösung

Wenn Sie einen SSH-Schlüssel generieren, wird er als Paar erstellt:
1. Ein öffentlicher Schlüssel, der auf den/die SSH-Server kopiert wird. Jeder Benutzer mit einer Kopie des öffentlichen Schlüssels kann Daten verschlüsseln, die dann nur von der Person gelesen werden können, die den entsprechenden privaten Schlüssel besitzt. Sobald ein SSH-Server einen öffentlichen Schlüssel von einem Benutzer erhält und den Schlüssel als vertrauenswürdig einstuft, markiert der Server den Schlüssel in seiner Datei "authorized_keys" als autorisiert. Solche Schlüssel werden als autorisierte Schlüssel bezeichnet.

2. Ein privater Schlüssel, der (nur) beim Benutzer verbleibt. Das Besitz dieses Schlüssels ist ein Nachweis der Identität des Benutzers. Nur ein Benutzer, der im Besitz eines privaten Schlüssels ist, der dem öffentlichen Schlüssel auf dem Server entspricht 

Der Benutzer muss den privaten Schlüssel in das .p12-Format konvertieren und im Business Manager unter "Private Key and Certificates" (Privater Schlüssel und Zertifikate) speichern.
So wird beispielsweise ein privater Schlüssel namens "test_id_rsa" umschlossen:
==========================================================================================
>>openssl req -new -days 3650 -key testing_id_rsa -out testing_id_rsa.csr
>>openssl x509 -days 3650 -signkey testing_id_rsa -req -in testing_id_rsa.csr -out testing_id_rsa.cer
>>openssl pkcs12 -export -out testing_id_rsa.p12 -inkey testing_id_rsa -in testing_id_rsa.cer -certfile testing_id_rsa.cer
==========================================================================================

Nachdem der SSH-Schlüssel in das .p12-Format konvertiert wurde:
1. Melden Sie sich beim Business Manager an.
2. Wählen Sie unter "Administration" (Verwaltung) die Option "Operations" (Vorgänge) aus.
3. Wählen Sie unter "Operations" (Vorgänge) die Option "Private Key and Certificates" (Privater Schlüssel und Zertifikate) aus.
4. Laden Sie den Schlüssel hoch (nur das .p12-Format funktioniert).
5. Nachdem der Schlüssel hochgeladen wurde, verweisen Sie mit dem folgenden Code auf den Schlüssel:

var keyRef = new keyRef("key_p12"); where "key_12" is the name of the .p12 key setup in the BM.

Sie können die setIdentity-Methode verwenden, um eine Verbindung mit dem SFTP-Server herzustellen:
public void setIdentity( dw.crypto.KeyRef keyRef );

Nummer des Knowledge-Artikels

000395051

 
Laden
Salesforce Help | Article