An Azure service for ingesting, preparing, and transforming data at scale.
The key clue here is the specific error:
Server HMAC algorithm not found
This indicates the failure is occurring during SSH algorithm negotiation, before any file transfer begins. In practice, it usually means the SFTP server and the SSH client used by the ADF Copy activity cannot agree on a common HMAC/MAC algorithm.
What makes your scenario interesting is that:
- Test connection succeeds
- Preview data succeeds (although slowly)
- Copy activity fails
This suggests the issue is unlikely to be networking, firewall rules, credentials, or folder permissions. If those were the problem, Preview would typically fail as well.
One possibility is that Test Connection and Preview do not exercise exactly the same code path as the full Copy activity. The Copy activity establishes the actual transfer session and may perform a different SSH capability negotiation than the lightweight validation or preview operations. As a result, a linked service can validate successfully while the transfer session later fails during HMAC negotiation. [learn.microsoft.com]
Before asking the client to modify their AWS Transfer Family configuration, I would verify:
- The Copy activity is using the same linked service and integration runtime that were used for the successful connection test.
- The issue is reproducible across multiple files and is not tied to a specific dataset configuration.
- Whether the failure occurs consistently for every Copy run, which would further support an SSH algorithm compatibility issue rather than an intermittent connectivity problem.
If those checks are confirmed, the evidence points strongly toward a server-side HMAC/MAC algorithm compatibility mismatch. At that stage, the client can review which MAC algorithms are enabled on the AWS SFTP endpoint and compare them with those supported by the ADF SFTP connector.
Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution.