Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
89,793
This blog describes how to setup secure connections to sftp servers in the cloud integration system. It gives a step by step description what needs to be configured where. Furthermore, test options are described for testing sftp connectivity.

Setup Secure Connection to sftp Server


A typical task in an integration project is to connect sftp servers to the SAP Cloud Integration Tenant, either for sending messages to or for polling messages from the sftp server. Before going into detailed configuration of the communication lets first have a short look at the basics.

Basics of Secure sftp Communication


The sftp server can act either as a sender or a receiver of messages. The setup and the detailed configuration procedure differ according to the communication direction that is being set up: whether the sftp server is supposed to provide messages to the integration platform or the other way round.

For more detailed information about sftp communication in CPI refer to SAP Documentation chapter 'How sftp works'.

The polling sftp scenario and which security artifacts are involved is described in SAP Documentation chapter 'Inbound sftp with Public Key Authentication'.



For secure SSH communication a known hosts file has to be deployed in the cloud integration tenant containing the public host key of the sftp server so that the sftp server will be trusted.

Furthermore, for public key authentication with the sftp server, a private key has to be maintained in the cloud integration tenant keystore. Also User/Password can be used instead, in this case user credentials have to be deployed in the cloud integration tenant. Recommended configuration option for secure communication is public key authentication.

If you want to configure the connection to an on-premise sftp server via Cloud Connector refer to the blog How to Connect to an on-premise sftp Server via Cloud Connector.


Configure Connection in sftp Server and Cloud Integration Tenant


Retrieve User and Public Host Key from sftp Server


Host Key

For SSH based communication, the cloud integration tenant needs the host key of the sftp server, which has to be added to the known hosts file and deployed on the cloud integration tenant in the next step. The host key can either be downloaded from sftp server or has to be provided by the administrator of the sftp server.

You can download the host key with the SSH connection test as described in more detail below in the Connectivity Tests chapter using the Copy Host Key option.



In case you have access to the sftp server yourself, you’ll normally find the public key of the sftp server in the .ssh directory with the name id_rsa.pub.

User

To communicate with the sftp server you need an user account on that sftp server. Cloud integration needs the user name to connect to the sftp server. The user name has to be provided by the administrator of the sftp server. The corresponding user must have sufficient authorization to create/move/delete files on the sftp server.

Configurations in Cloud Integration Tenant


For SSH based communication in the cloud integration tenant, the public host key of the sftp server provided in previous step is needed in the cloud integration tenant. Furthermore, for using public key authentication towards the sftp server, a private key pair with the alias id_rsa or id_dsa is required in the cloud integration tenant’s keystore. With the June-2020 update the key pair for the connection to the sftp server can be chosen by defining the respective key alias in the sftp adapter configuration.

Maintain and Deploy Known Hosts File


You need to add the sftp host key you received in previous step to the known hosts file deployed in your cloud integration tenant. For this download the file from Manage Security Material view available in the Operations View in Web in section Manage Security. If no knwon_hosts file is deployed yet on the tenant you have to create it as described below.

Open the file with notepad or some other text editor and add the host key of the sftp server. If no known_hosts file was deployed create it.

The file needs to have the name known_hosts and shall contain the host keys for all connected sftp servers in a list. Each line contains the hostname, the applicable public key algorithm -"ssh-rsa" (for RSA key pairs) or "ssh-dss" (for DSA key pairs) and the public host key encoded using base64. See the following example:

ld2345.wdf.sap.corp ssh-rsa AAAAB3NzaC1yc2EAAAo.........2pOx2ADnZ1WwtjW48=

Deploy the known_hosts file in the Manage Security Material view available in the Operations View in Web via the Add -> Known Hosts (SSH) action. Browse the known_hosts file and deploy it.

Maintain Private Key in Keystore


As explained above, for public key authentication a private key pair needs to be maintained in the cloud integration tenant keystore. Before the June 2020 update, there were pre-defined aliases reserved for the communication with the sftp server: these are the aliases id_rsa, id_dsa or id_ecdsa.

With the June-2020 update any key pair can be chosen for the connection to the sftp server by defining the respective key alias in the sftp adapter configuration.
Check for id_rsa/id_dsa/id_ecdsa or any other key pair in Keystore

In Keystore Monitor available in the Operations View in Web in section Manage Security check, if there is already an entry with the alias id_rsa, id_dsa or id_ecdsa available. If so, you may use it and skip the next two steps, continue with download of the public key.

With the June-2020 update any key pair can be chosen. It is recommended to use a dedicated key pair for the communication to the sftp server(s), and you may now even use a different key pair for each sftp server. You should not use the same key pair for communication against sftp server(s) and other backends.
Create SSH Key in Keystore Monitor

With the 02-September-2018 update, in the Keystore Monitor you can directly create SSH keys. There is no need anymore to use an external tool for this.

To create the SSH Key open the Keystore Monitor available in the Operations View in Web in section Manage Security. All certificates and private key pairs contained in the tenant keystore are shown. Choose Create -> SSH Key to create a key pair for the sftp connectivity.



In the creation dialog select and define the key specific values and define a validity period. Before the June 2020 update the alias is generated automatically based on the selected Key Type:

  • Key Type RSA -> generated alias: id_rsa

  • Key Type DSA -> generated alias: id_dsa (because of security reasons not available anymore after the 14-04-2019 update)

  • Key Type EC -> generated alias: id_ecdsa (new with the 14-04-2019 update)


With the June-2020 update you can define the alias for the key pair used for the SSH communication. And with this change you can now have multiple SSH keys in your tenant.

Select Deploy to create the key. If a key with the respective alias already exists, an error message is given. In this case you may use the existing one for your scenario or use a different Key Type or rename the existing alias.


Upon Deploy the key pair is generated and the artifact is added to the list of keystore artifacts:



Alternative option: Upload SSH key

Instead of creating the SSH key in the keystore monitor, with the 12-May-2019 update you can also upload SSH keys to the keystore monitor. It is possible to upload SSH or putty keys.

To upload an SSH Key open the Keystore Monitor available in the Operations View in Web in section Manage Security. Choose Add -> SSH Key to upload a putty of SSH key for the sftp connectivity.



In the upload dialog select the putty or SSH key and specify the password for the key and define the key specific values and a validity period.

The alias is generated automatically based on the key type of the putty or SSH key:

  • Key Type RSA -> generated alias: id_rsa

  • Key Type DSA -> generated alias: id_dsa

  • Key Type EC -> generated alias: id_ecdsa


With the June-2020 update you can define the alias for the key pair used for the SSH communication.

Select Add to create the key. If a key with the respective alias already exists, an error message is given. In this case you may use the existing one for your scenario or use a different Key Type or rename the existing alias.


Note:

  • You should not share a private SSH key. Each CPI tenant (e.g. test tenant and productive tenant) should have their own SSH key, the same applies to each natural person (e.g. developer, administrator or consultant) who needs access to the SFTP server. This way access to a specific SFTP mailbox can be granted and revoked to each system and each person separately.

  • You should not use username/password authentication to SFTP servers. Once you have configured multiple systems to access a mailbox via username/password authentication, it becomes very hard to change this password again, because you must change it synchronously on the SFTP server and all involved systems, which are at least two (one writing to the mailbox and one reading from it). Furthermore, you may need to share this password with administrators and maybe even integration flow developers or external consultants involved in the set-up of the scenario. Once you have shared the password, you cannot make anyone to forget it again, so to remain secure, you would have to change it each time someone leaves the project, which is difficult and error-prone as stated above.


More information about maintaining keys and certificates in Keystore Monitor, about migration of existing keystores into the new monitor and about existing naming conventions can be found in blog ‘How to use Keystore Monitor to maintain your keys and certificates’.

Authorization

To maintain keys and certificates in Keystore Monitor your user needs the Group Role AuthGroup.Admin or Single Roles IntegrationOperationServer.read, NodeManager.read and
NodeManager.deploysecuritycontent.

Download Public Key from Keystore Monitor


For public key authentication at the sftp server the public key of the cloud integration tenants private key is needed in the sftp server. For this, export the public key of the private key pair in the Keystore Monitor. You can export either the X.509 certificate or the public key in OpenSSH format; choose the format your sftp server supports.

This option is available as single line option, select Download Certificate or Download Public OpenSSH Key from the actions Button in the line of the private Key Pair to be used for the connection to the sftp server.



Download Public OpenSSH Key will create an <alias>.pub file in the download directory. The file contains the public key in openSSH format, which can be used to be put to the sftp server.

Download Certificate will create a file with the name <alias>.cer in the download directory. This X.509 certificate file can be imported to sftp server, if the sftp server supports the format.

If the sftp server needs SSH2 format according to RFC 4716 you need to download the OpenSSH key and transform it to an SSH2 public key with the ssh-keygen tool, which can for example be installed using cygwin on Windows machines. Use following command for the transformation:

$ ssh-keygen -e -f id_rsa.pub -m RFC4716 > id_rsa.pub_ssh2

Authorization

To download entries from Keystore Monitor your user needs the Group Role AuthGroup.IntegrationDeveloper or Single Roles IntegrationOperationServer.read and NodeManager.read.


Import Public Key to sftp Server


For public key authentication, in the sftp server the public key of the cloud integration tenant’s private key needs to be imported. Provide the downloaded public key to the administrator of the sftp server, so that he can add it there. On an OpenSSH server it's done via adding it to the authorized_keys file in the .ssh directory.

With this last step the configuration of the communication to the sftp server using public key authentication is completed. You can now use public key authentication in sftp sender and receiver channels.

To test the connectivity, you can continue as described below in the Connectivity Test chapter or first create the integration flow with the sftp channel.

 

Setup SFTP Channel in the Integration Flow


After the connectivity is setup, you can connect to an sftp server using the sftp sender or receiver adapter. Create an integration flow with an sftp sender or receiver channel and define the Connection Parameters accordingly:




  • In the Address field enter the host name of the sftp server.

  • Define if the Proxy Type: On-Premise for connecting to an on-premise sftp server via cloud connector (see blog How to connect to an on-premise sftp server) or Internet if the sftp server is accessible from the internet.

    • If On-Premise is selected you can configure the Location ID used for the cloud connector.



  • Select the Authentication: Public Key, User Name/Password or Dual.

    • For Authentication via Public Key you need to define the User Name set up in the sftp server and the Private Key Alias of the key pair you want to use for the connection. Note that the entry field for the Private Key Alias will only be available with a new version of the sftp adapter in June 2020.

    • For Authentication via User Name and Password you need to define the Credential Alias, in which the user name and password are deployed.

    • For Authentication with both, Public Key and User Name/Password, select Dual. In this case you need to define the Credential Alias, in which the user name and password are deployed and the Private Key Alias. Note that the Dual option will only be available with a new version of the sftp adapter in June 2020.



  • The Timeout needs to be set high enough to ensure the sftp server is able to respond in this time.

  • You can define the Maximum Reconnect Attempts and the Reconnect Delay.

  • Select Automatically Disconnect if the connection shall be closed after the processing.

    • For scenarios where messages are processed more often the connection should be kept open for better performance because additional time is required to establish the connection.

    • If messages are only processed from time to time it is recommended to close the connection. This ensures there are not too many open connections in the sftp server. Besides, most sftp servers close an idle connection from their side after a certain period of time (i.e. the connection timeout of the sftp server).

    • The general recommendation would be: if multiple messages are processed within the connection timeout of the sftp server the connection should be kept open.




 

After the deployment of the integration flow the access to the sftp server should work.

  • In case of sftp sender the integration flow should start polling messages from the sftp server. Errors during poll would be shown in the Integration Content monitor.

  • In case of the sftp receiver messages are written to the sftp server. Errors during writing to the sftp server are shown in the Message Processing monitor in the message processing log.


In case of errors you can use the connectivity tests for analysis, continue as described below.

 

Connectivity Test


After setting up the connection toward the sftp server, the connectivity test feature can be used to test the communication or even to download public keys.

SSH Connectivity Test


The Connectivity Test is available in Operations View in Web, in section Manage Security. Selecting the Connectivity Test tile from Overview Page will open the test tool offering tests for different protocols. To test the communication to the sftp server, the SSH option is to be selected.



 

To test the connection with host key and public key check, select Authentication option Public Key and enter the address of your sftp server, and the user name available in the sftp server and execute the test. The test will give a success message or an error with detailed error information.



Error: reject HostKey

If there is an error with the SSH connectivity (e.g. reject HostKey) it is possible to execute the test without the option Check Host Key. In this case the sftp host key is not checked, but it can be copied via Copy Host Key Button and added to the known hosts file as described in the above chapter. Make sure the fingerprint of the downloaded host key is checked with the administrator of the sftp server.



The public key authentication is checked via the authentication option Public Key. The authentication is done with the id_rsa/id_dsa key with the user entered in User Name.

Error: Auth fail

If there is an authentication error you get an Auth fail error. In this case either the id_rsa/id_dsa alias is not available in keystore, the public key was not added to the sftp server authorized keys correctly or the user is not valid.

The problem can also be that the connection timeout set is too low for specific slow sftp servers. In this case the timeout needs to be increase. This problem was seen from time to time in sftp communications.



If everything is setup correctly you will get a success message with Check Host Key using Public Key Authentication.

88 Comments
JaySchwendemann
Active Contributor
0 Kudos
Hi Mandy,

 

is there a way to connect an sFTP Host which is located on Prem via SAP Cloud Connector? I'm especially thinking about the new option to use TCP / TCP (SSL) for connection.

If not, are there plans to do so? I would think this requirement might be quite common for integration customers.

 

Many Thanks and kind regards

Jens
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
 

Hi Jens,

it's not possible yet, but it's planned. We will enable this mid term.

Best regards,

Mandy
0 Kudos
Hi Mandy,

I see in the SSH Connectivity Test there is an option for Authentication: None.  Does setting this option mean you are just pinging the SFTP sever?

Best Regards,
Chris
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
 

The SSH test tries to establish a SSH connection to the SFTP server, but does not authenticate.

BR,

Mandy
0 Kudos
Hello Mandy,

 

Hope you are doing well. I have worked on sFTP servers which is managed by SAP.

But out customer have sFTP server inside their secured zone. In this case IP/host name of the server should be public? Which means reverse-proxy is a mandatory so that HCI can reach the sFTP server?

Thanks,

Ram
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
 

It is planned to offer a connection via cloud connector, but this is not available yet. Currently the sftp server needs to be opened to the internet to be connected via cloud integration.

BR,

Mandy
Bais
Participant
0 Kudos
Good evening Mandy,

we are trying to use .ppk file sent by ADP Payroll (everytime they send it and we ask for plain password) but we can't use it.

On HCI / CPI SFTP Adapter we can't use it, could you integrate this good guide with passages for use putty private key sent by sftp server admins?

We tried a lot of guides online but we didn't find a solution, there is some plane to improve SFTP Adapter with this kind of keys?

Federico Bellizia

 
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
 

Hello Federico.

what should work (I have not tried it as I dont have a ppk file for testing):

  1. Convert ppk to OpenSSH key; e.g. puttygen id_rsa.ppk -O private-openssh -o id_rsa

  2. Create X.509 certificate from OpenSSH key; e.g.: openssl req -x509 -subj "/C=DE/ST=BW/L=Walldorf/O=SAP AG/OU=TEST/CN=user/emailAddress=user@example.com" -days 3650 -new -key id_rsa -out id_rsa_cert.pem

  3. Create p12 key pair using the output from 1 and 2: openssl pkcs12 -export -inkey id_rsa -certfile id_rsa_cert.pem -out íd_rsa_test.p12

  4. Import this p12 file using Add -> Key Pair to the keystore


Please let me know if this solves your problem.

We will discuss internally if we can offer a more user friendly option to get this imported to the keystore.

Best regards,

Mandy
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
 

This is possible now, see blog How to connect to an on-premise sftp server via Cloud Connector.

Best regards,

Mandy
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
Thconnection via CC is possible now, see blog How to connect to an on-premise sftp server via Cloud Connector.

Best regards,

Mandy
JCardoza
Explorer
0 Kudos
Hello Mandy,

 

Like Federico, I too am trying to use the .ppk file to authenticate against an SFTP. The steps given by you have been extremely useful.

I followed the steps to convert the putty key to openssh key and generate p12 key pair and then added the key pair to the keystore.

Having done this, how can I successfully authenticate against the SFTP using the added key pair? Any suggestions would be greatly appreciated.

 

Regards,

JC
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
 

Hi JC,

important is that the alias of the key imported into the keystore is id_rsa or id_dsa (depending on the key type). Only those two aliases are used to connect to the sftp server.

Then you can use the ssh connectivity test to test the connection to the sftp server.

Best regards,

Mandy
JCardoza
Explorer
0 Kudos
Hi Mandy,

Thank you replying. How would this work with authenticating against multiple SFTP servers each having its own private key?

HCI allows only one alias with id_rsa.

 

Regards,

JC
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
 

Hello,

you are right, currently Cloud Integration allows only two aliases for sftp connectivity depending on the key type - id_dsa and id_rsa.

Usually the private key is generated by the server (function generate SSH key), which is in this case the Cloud Integration tenant. And the public certificate for the key is downloaded and passed to all connected sftp servers.

With this you can connect multiple sftp servers.

But currently it is not possible to have multiple SSH keys for connecting to the sftp servers. It is on the roadmap, but not for the near future.

Best regards,

Mandy
ceolin
Explorer
0 Kudos
Hi Mandy,

Just to clarify: I am able to exchange files with as many SFTP servers as I need, right?

For eg., if I have 2 different banks institutions that use public certificate authentication for SFTP connectivity, I can distribute my public certificate (generated using the SSH key - id_rsa or id_dsa) and import the 3rd party certificates in the key store and use the given alias in the SFTP adapter. Is that correct?

Thanks,
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
Yes, you can provide the downloaded public SSH key to multiple sftp servers. Important is that you import the sftp host keys of all those sftp servers to the known hosts file as described in the blog.

Best regards,

Mandy
Bais
Participant
0 Kudos
Hi mandy.krimmel

do you have news about :

-We will discuss internally if we can offer a more user friendly option to get this imported to the keystore.

 

It will be possible in a future?

 

Federico Bellizia

 
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
Yes, this option will be delivered with the next update currently scheduled for 11/12 May if all integration tests run successful. I will update the blog within the next days describing the new option Add -> SSH Key. Using the option you can then import SSH and putty keys directly.

Best regards,

Mandy
Bais
Participant
0 Kudos
Very good news thank.

I will test this add on after updates.

 
0 Kudos
Hi Mandy,

 

I still don't see add ssh option. Is it still not available for all customers?

Also, what if there are multiple private keys for different sftp servers?

 

regards,

Anirudh
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi,

some datacenters did not have the T3 update yet because of problems during update.

Could you please check again? Last weekend the remaining data centers should have gotten the update.

Regards,

Mandy
VikasSingh
Product and Topic Expert
Product and Topic Expert
0 Kudos
thanks for a detailed blog Mandy, br Vikas
Amba
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hi Mandy,

 

Thanks for this post. I would like to ask one question for sFTP outbound, can we set the adapter configurations like address, credentials from the variable set in the header or from property in the ilfow?

If it can not, does it is planned in the roadmap of future?

Thanks.
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

no, this is not possible as of now. It is in our roadmap, but not for the near future as this is a bigger change.

It will be available with the June 2020 update.

Best regards,

Mandy

former_member645107
Discoverer
0 Kudos
Hi Mandy,

Do you have guide to get the private SSH key from CPI?

Br.

Sebastian
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Sebastian,

the private SSH key can be generated in the keystore as described in the blog in chapter 'Create id_rsa/id_ecdsa in Keystore Monitor'.

BR

Mandy
former_member645107
Discoverer
0 Kudos
Hi Mandy,

Thanks for the quick response. Sorry for not being more specific, but Im working on a concur interface in CPI in, which this setup I need to access the Concur SFTP server manually (privatekey access only - without password) in order to get some neccessary encryption files that i need in setup of the iflow. So i need to access the SFTP server with SFTP client using a ppk file. Do you know how the private ssh key (id_rsa.cer) can be converted to a ppk format?

Br.
Sebastian
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Sebastian,

the private SSH key cannot be exported from keystore for security reasons, so there is no way to generate a ppk key.

If you need a ppk key for connecting to the sftp server I would propose you generate an external putty (ppk) key and import this to the keystore using Add -> SSH Key.

BR,

Mandy
former_member59175
Discoverer
0 Kudos



Also if you are using a third party sftp server make sure one of the supported key exchange algorithms of CPI are supported or your integration with the sftp adapter will fail..

ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1





 

PBhandari1
Explorer
0 Kudos
Hi  mandy.krimmel

We have a requirement to connect multiple SFTP vendor using Public Key Authentication.

One of the vendor provided an .ppk file which I have deployed in the tenant using Keystore -> Add SSH Key. It automatically creates an id_rsa file as type key pair. now we have received another vendor .pub file, where and how should we update the public openSSH key in the keystore to establish the connection with both the vendors.

Please guide.

Thanks,

Poushali Bhandari
mandy_krimmel
Product and Topic Expert
Product and Topic Expert

Hello Poushali,

this is currently not supported in CPI. You should use one private SSH key in CPI and distribute the public key to the sftp servers.

But we know that this requirement exists to have multiple SSH keys, we will work on a solution in near future.

This will be available with the June 2020 update, blog will be updated.

Best regards,

Mandy

former_member50931
Discoverer
0 Kudos
Hi Mandy,

I need to connect to the Kronos SFTP using 2 different platforms:

Dell Boomi to send the data from EC to Kronos (currently with username/password authentication) and CPI to process the time data from Kronos to ECPayroll (with public key authentication as the only option).

What would you recommend to resolve this problem since the SFTP account may have only one way of authentication?

Best regards,

Lana

 
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Lana,

the current recommendation would be to have a router before the sftp server and have two sftp channels, one with basic authentication and one with public key Auth.

Mid-term we will offer dynamic setting of authentication option, then you can go with one channel and configure authentication dynamically.

The dynamic configuration will be available with the June 2020 update.

Best regards,

Mandy

0 Kudos
Hi Mandy,

We have a requirement to connect to the banks SFTP sever and the only authentication methods supported by the bank are Public key + username and password or Public key + IP address.

In CPI we only have option for Public key (with username) or username and password. Is there any way to use Public key + username and password.

Thanks

Vamsi
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Vamsi,

at the moment it is either user/password or public key, but we work on an enhancement to support Dual authentication meaning user/password and public key. You can expect this feature in one of the next updates.

Best regards,

Mandy
0 Kudos
Hi Mandy,

Thank you for the quick response. That is good to know. Is there a planned timeline for this new enhancement release?

Thanks

Vamsi
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Vamsi,

it’s planned to be available in the May update, but this depends on the finalization of the implementation and the E2E tests that need to be executed. So, I cannot confirm the date.

Will be available with the June 2020 update.

Best regards

Mandy

former_member607592
Discoverer
0 Kudos
Hi Mandy,

 

It is very informative.

 

Thanks a lot!

 

Regards,

Bala Sandeep
rensui
Explorer
0 Kudos
hi Mandy:

thanks a lot for your post here.

I have one scenario that we would like to upload one PDF file from on-premise HCM system to SuccessFactors SFTP, can we use this solution to implement it?

Do we need to use cloud connector to connect CPI from on-premise and how to trigger the upload?

thanks a lot for your support.
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
Sure, you can store a pdf to the sftp server, but I'm not sure how to upload the file from HCM system. You need to check which options exist from HCM, is the pdf stored on a sftp server or is it stored in the system? How do you expect to trigger the upload? You can either use a sftp sender adapter in CPI to poll for messages on a on-premise system or you can trigger a call directly from on-prem system and send the pdf as attachment for example via a SOAP call.

BR,

Mandy

 
rensui
Explorer
0 Kudos
hi Mandy:

thanks a lot for your quick feedback.

our scenario is that we would like to develop an abap program in on-premise HCM system and generate a PDF or CSV and then send to successFactors SFTP, so we can use CPI to integrate HCM and SF SFTP, right?

what I hope is to trigger the call directly from HCM on-premise system. for this scenario, do we need to use cloud connector between on-premise and CPI?

thanks.
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
In the scenarios from HCM to CPI you don't need cloud connector. You can call the CPI tenant directly. You simply have to make sure you can execute calls to the internet from your HCM system, usually a proxy in your landscape is used for this. You administrator should know the landscape/system setup.

Best regards,

Mandy
rensui
Explorer
0 Kudos
hi Mandy:

thanks a million for your always quick support.

it helps a lot.
ruben_colacio
Discoverer
0 Kudos

Hi Mandy,

Thanks for your post, it was truly useful.

However, I have now an issue trying to upload the id_rsa.pub key. I downloaded the key with option “Download Public OpenSSH Key” and I created a new id_rsa. Everything worked, but I broke one of the connections, so I would like now to restore the old id_rsa, but when I try to upload the old .pub key I get an error message “Cannot load key”.

I have used option Add -> SSH Key -> id_rsa.pub.

Could you help to understand what am I doing wrong?

Thansk in advance for your support.

Kind regards,

Rubén.

mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Ruben,

the problem is that you have downloaded the public key with the option download public open SSH key and now you try to import the public key as privat ssh key. This for sure cannot work.

To have the option to go back there is the backup option available in the keystore monitor. Have you done this backup before doing your changes? then you can restore the keystore to the state before your changes.

The second option I could think of: Was the old id_rsa key also already created in the keystore or did you create this externally (maybe before the create ssh key option was available) and then imported it? If you would still have this private key externally available, you could import it via add -> key pair.

Else the only option is to get the broken connection fixed with the new key.

Hope this helps you,

Mandy
ruben_colacio
Discoverer
0 Kudos
Hi Mandy,

Thanks for the quick reply. The only option I have is to fix the broken connection, because the key was created in the keystore. Fortunately it's only one iflow impacted.

Thanks for your advices. I will keep them in mind for the next time 🙂

Best regards,

Rubén
Pushkarpatel05
Explorer
0 Kudos
Hi Mandy,

Thanks for the informative blog.

How to split a Big file ( Upto 50 MB) while using Sender SFTP adapter in CPI ?

I couldn't find option of giving maximum file size  in CPI which we have in SAP PO?

Thanks,
Pushkar
mandy_krimmel
Product and Topic Expert
Product and Topic Expert
0 Kudos
Hello Pushkar,

there is no option directly in the adapter. Splitting needs to be done in the integration flow processing via the splitter flow step.

The maximum file size is not yet configurable in the sftp adapter, but this is on the roadmap.

Best regards,

Mandy
Pushkarpatel05
Explorer
0 Kudos
Thanks Mandy , will use splitter.
former_member660995
Discoverer
0 Kudos
Hello Mandy

Appreciate your time and efforts for all this. Just wondering if you have any update on Dual authentications ? We need this for an SFTP interface with bank. Need to pass Public key and Username/Password together. Is it possible or we need to wait for next release for CPI ? Any timelines ?

Thanks

Ajay