如何使用Airflow以SSH方式将RSA公钥/私钥连接到服务器?

2024-03-29 05:45:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Logstash服务器,我需要通过cloudcomposer运行命令,它使用Airflow。我正在使用SH运算符。我建立了SSH连接,并将RSA私钥添加到extras字段。我尝试在输入用户名和未输入用户名时进行连接。每次连接后,我都会得到一个错误:“error:SSH Operator error:No authentication methods available.”我可以使用这个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


Tags: 命令服务器sh密钥运算符errorrsassh
1条回答
网友
1楼 · 发布于 2024-03-29 05:45:27

为了在接近SSHOperator连接类型的Connection定义中正确传播Connection额外的字段参数,您应该以JSON数据格式显式设置RSA密钥文件的路径,如在documentation中共享的路径,例如:

{
   "key_file": "/PATH_TO_YOUR_KEY/.ssh/KEY_NAME_rsa"
}

相关问题 更多 >