我有一个Logstash服务器,我需要通过使用Airflow的Cloud Composer运行命令。我正在使用SH操作员。我已建立SSH连接,并将我的RSA私钥添加到extras字段中。我尝试在输入用户名和未输入用户名时进行连接。每次连接后,都会出现错误:“错误:SSH操作员错误:没有可用的身份验证方法。”我可以使用此RSA密钥通过Putty连接。我也可以Ping服务器。该服务器没有密码-只有密钥。 SSHOperator代码:
t1 =SSHOperator(
task_id = 'SSHOperator',
ssh_hook=sshHook,
do_xcom_push=True,
command='ls /logstash/scripts',
dag=dag
)
SSH连接: ssh connection image
答案 0 :(得分:0)
为了正确地传播接近Connection连接类型的SSHOperator定义内的 Extra 字段参数,您应该以JSON数据格式显式设置RSA密钥文件的路径,例如在气流documentation中共享,例如:
{
"key_file": "/PATH_TO_YOUR_KEY/.ssh/KEY_NAME_rsa"
}