使用Azure Data Factory无法连接至SFTP服务问题求助
Azure Storage SFTP 与 ADF 链接服务连接失败排查方案
核心排查步骤
1. 网络连通性验证
- 若使用自托管集成运行时,先在运行时所在机器用命令测试连通性:
telnet <存储账户名>.file.core.windows.net 22或Test-NetConnection <存储账户名>.file.core.windows.net -Port 22,确保端口22能正常访问。 - 若使用Azure托管集成运行时,检查存储账户防火墙规则:在「网络」设置中勾选「允许受信任的Microsoft服务访问此存储账户」,避免被防火墙拦截。
2. 凭据配置校验
- 密码方式:必须使用存储账户SFTP用户的专用密码(在存储账户「SFTP」面板中生成),不能用存储账户密钥或访问密钥。
- SSH密钥方式:
- 公钥需是OpenSSH格式(以
ssh-rsa或ssh-ed25519开头),且已正确添加到SFTP用户配置中。 - 私钥必须是未加密的PEM格式,若有密码保护,需在ADF链接服务中填写对应的密钥密码。
- 检查私钥格式,确保开头
-----BEGIN RSA PRIVATE KEY-----和结尾-----END RSA PRIVATE KEY-----标记完整,无多余换行或字符。
- 公钥需是OpenSSH格式(以
3. 用户权限与路径配置
- 确认SFTP用户拥有目标文件共享的读写权限:在存储账户「SFTP」用户设置中,核对用户对应的文件共享权限是否正确。
- ADF链接服务的「根目录」需填写存储账户内的文件共享名称(如
myshare),不能填绝对路径或其他格式。
4. 错误码针对性处理
结合常见报错场景:
- 报
SSH handshake failed:优先排查密钥格式是否兼容、网络是否连通。 - 报
Authentication failed:确认凭据(密码/密钥)是否正确,SFTP用户是否已在存储账户中创建。 - 报
Permission denied:检查用户对目标文件共享的权限配置。
快速验证方法
- 用本地SFTP客户端(如FileZilla)使用相同凭据连接存储账户SFTP端点,若本地能正常访问,问题大概率出在ADF集成运行时的网络或配置;若本地也连不上,先排查存储账户的SFTP配置。
- 查看存储账户「活动日志」,搜索SFTP相关事件,获取拒绝访问的具体原因。
内容的提问来源于stack exchange,提问作者gaurav sharma
相关产品推荐
相关产品推荐

