1

我正在尝试使用 Oozie Workflow.xml 运行 SSH 命令

工作流.xml

<action name="mysshjob">
    <ssh xmlns="uri:oozie:ssh-action:0.1">
        <host>XXX.XX.XX.XXX</host>
        <command>cp</command>
        <args>a.txt</args>
        <args>b.txt</args>
    </ssh>
    <ok to="pig-node"/>
    <error to="fail"/>
</action>

收到此错误:

AUTH_FAILED:无法执行操作 [ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=no -o StrictHostKeyChecking=no -o ConnectTimeout=20 user@XXX.XX.XX.XXX mkdir -p oozie-oozi/0000067-130808155814753-oozie -oozi-W/mysshjob--ssh/ ] | ErrorStream:权限被拒绝(公钥,密码)。

但是当我使用工作流程安排猪脚本时,这些脚本运行良好。使用CDH4.3 oozie 组件。

看待,

巴格万特·博比

4

2 回答 2

0

SNeumann 给出了正确的解决方案,这是一个非常棘手的问题,我只能破解它。对我来说,这个问题失败了(我可以在日志中看到)

ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=no -o StrictHostKeyChecking=no -o ConnectTimeout=20 user@XXX.XX.XX.XXX mkdir -p oozie-oozi/0000067-130808155814753-oozie-oozi-W/mysshjob--ssh/

但是,如果尝试了相同的命令但删除了 KbdInteractiveDevices=no 或更改了 KbdInteractiveDevices=pam 它可以工作

ssh -o PasswordAuthentication=no -o KbdInteractiveDevices=pam -o StrictHostKeyChecking=no -o ConnectTimeout=20 user@XXX.XX.XX.XXX mkdir -p oozie-oozi/0000067-130808155814753-oozie-oozi-W/mysshjob--ssh/

无论如何,我认为旧的 ssh 密钥存在一些问题,所以我尝试跟踪它并且它有效

$ ssh-keygen -t dsa
$ cat ~/.ssh/id_dsa.pub > ~/.ssh/authorized_keys2
于 2014-02-20T15:03:40.293 回答
0

尝试此处描述的无密码 ssh 设置:http: //oozie.apache.org/docs/3.3.2/ENG_Building.html

于 2013-08-13T08:06:57.647 回答