【发布时间】:2017-12-18 16:17:31
【问题描述】:
我正在使用 Airflow v1.9rc5 中的 sftp_operator。我正在尝试通过 SFTP 获取两个文件,但我得到了:
错误 - 无法连接到主机:192.168.56.101,错误:没有可用的身份验证方法
我已经为这个远程主机设置了连接 ID。我还使用 SFTP 命令验证了来自 BASH 的连接。
FTP 抓取任务:
sftp = SFTPOperator(
task_id='fetch_data',
ssh_conn_id='sftpid2',
local_filepath='/Users',
remote_filepath='/',
operation=SFTPOperation.GET,
dag=dag
)
【问题讨论】:
-
谢谢,我看到并按照示例进行操作,但我仍然无法弄清楚为什么会出现此错误。
-
我能够通过使用 SSH 密钥而不是 UID 和 PW 来使 SFTP 工作。要将 SSH 密钥与连接 ID 一起使用,您需要在连接定义的 extras 字段中设置密钥的路径。 {"key_file": "/PATH TO YOUR KEY/.ssh/KEYNAME_rsa"} 密钥不能受密码保护。同样使用 Airflow v1.9rc5 我在更新 extras 字段时遇到了问题。尝试添加密钥路径时收到“无效填充”的错误消息。我不得不恢复到 v1.8,更新然后再次运行 v1.9。我不确定 SSH 密钥是否是当前唯一支持的方法。