AirflowException: SSH操作员错误:没有可用的身份验证方法是由于SSH操作员在连接远程服务器时没有可用的身份验证方法引起的。以下是解决该问题的可能方法和示例代码:
from airflow.contrib.operators.ssh_operator import SSHOperator
ssh_operator = SSHOperator(
task_id='ssh_task',
ssh_conn_id='ssh_connection',
command='echo Hello',
do_xcom_push=True,
)
remote_logging
选项,确保它正确地配置为要使用的身份验证方法。# airflow.cfg
[core]
remote_logging = True
[ssh]
remote_host = your_server_ip
remote_port = 22
remote_username = your_username
# 是否使用SSH密钥身份验证
use_ssh_keys = True
# SSH密钥文件路径
ssh_key_file = /path/to/ssh/key/file
# airflow.cfg
[connections]
ssh_connection = ssh_default
[ssh_default]
# 远程服务器IP
host = your_server_ip
# 远程服务器SSH端口
port = 22
# 远程服务器用户名
username = your_username
# 是否使用SSH密钥身份验证
use_ssh_keys = True
# SSH密钥文件路径
key_file = /path/to/ssh/key/file
请注意,上述示例代码中的ssh_connection
和ssh_default
是自定义的连接名称,您可以根据自己的需求进行更改。确保配置文件和连接配置中的所有详细信息都正确,并且您具有正确的SSH密钥文件,以使SSH操作员能够成功连接远程服务器。
上一篇:AirFlowException - Python_Callable必须是可调用的。
下一篇:AirflowException:PythonVirtualenvOperator需要virtualenv,请安装它。