An Azure service for ingesting, preparing, and transforming data at scale.
Hello Luigia Costabile,
Thank you for asking your question on the Microsoft Q&A portal. Also, I appreciate the response correctly mentioned by our community champion Amira Bedhiafi, ADF’s underlying SSH client does not currently support the rsa-sha2-256 and rsa-sha2-512 host key algorithms required by the server, leading to failed key exchange during connection negotiation.
The SFTP connector in Azure Data Factory uses SSH libraries that, as of now, do not support the rsa-sha2-256 and rsa-sha2-512 host key signature algorithms. Instead, it offers legacy algorithms like ssh-rsa (which uses SHA-1), now considered weak and often disabled on secure servers.
Even though ssh-rsa appears in the client list, many modern OpenSSH servers disable it by default due to security concerns and require rsa-sha2-256/512. Unfortunately, ADF does not yet support these stronger variants. This is a known limitation of the ADF SFTP connector.
I would like to add some possible workarounds which could be as follows on top of our community champion's response.
- Use a Self-Hosted Integration Runtime with a Custom Script (Recommended) Since the managed IR has no control over SSH stack, deploy a Self-Hosted IR on a Windows or Linux machine where you have full control, and use a custom activity (e.g., via PowerShell, Python, or command-line
sftp/scp) that supportsrsa-sha2-256/512. Example using OpenSSH in PowerShell:
Or use tools like WinSCP, PSFTP, or OpenSSH Client with explicit algorithm support. Then orchestrate this script via ADF using a Custom Activity or Azure Batch.sftp -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa -o HostKeyAlgorithms=rsa-sha2-256,rsa-sha2-512 user@hostname - Ask Supplier to Temporarily Re-enable
ssh-rsa(Not Recommended Long-Term) If allowed by their security policy, request the supplier to re-enable thessh-rsaalgorithm on their server. Based on my research and findings, Add this line to theirsshd_config:
RestartHostKeyAlgorithms +ssh-rsa PubkeyAcceptedKeyTypes +ssh-rsasshdafter change. Note: This weakens security and should only be used temporarily for testing. Note - Use Azure Logic Apps (with Custom Connector or Code) Logic Apps has more flexibility with connectors and can run custom code. You can invoke an Azure Function or container that handles the SFTP connection with proper SSH configuration.
- Engage Microsoft Support Community to provide feedback and to Confirm Roadmap This capability could be under development. You can provide feedback here on ideas community so that this feature can be worked upon by Microsoft.
Useful links:
Please "Accept as Answer" if the answer provided is useful, so that you can help others in the community looking for remediation for similar issues.
Thanks
Pratyush