Ошибка простого ssh-задания: AUTH_FAILED: Невозможно выполнить операцию
Я пытаюсь простую работу SSH с использованием Cloudera Oozie.
job.properties:
nameNode=hdfs://localhost:8020
jobTracker=localhost:8032
queueName=default
examplesRoot=examples
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/ssh
workflow.xml:
<workflow-app xmlns="uri:oozie:workflow:0.2" name="ssh-wf">
<start to="ssh"/>
<action name="ssh">
<ssh xmlns="uri:oozie:ssh-action:0.1">
<host>localhost</host>
<command>date</command>
</ssh>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>SSH action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>
При попытке запустить задание с помощью следующей команды:
oozie job -oozie http://localhost:11000/oozie -config examples/apps/ssh/job.properties -run
Задание приостанавливается со следующей ошибкой:
org.apache.oozie.action.ActionExecutorException: AUTH_FAILED: Not able to perform operation [ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=no -o StrictHostKeyChecking=no -o ConnectTimeout=20 cloudera@localhost mkdir -p oozie-oozi/0000003-170304124323783-oozie-oozi-W/ssh--ssh/ ] | ErrorStream: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
Какова возможная проблема? Вход в систему без пароля включен для localhost.
1 ответ
Решение
Сервер Oozie будет запускать SSH как oozie
Пользователь, чтобы запустить SSH как. Целевой пользователь на удаленном будет в соответствии с конфигурацией, т. Е. cloudera
,
Включить логин без пароля для oozie
пользователь. Создать ключи SSH для oozie
пользователя и скопируйте его открытый ключ в authorized_keys
из cloudera
пользователь.