更新时间:2022-12-14 GMT+08:00

互信操作示例

操作场景

在使用Oozie节点通过SSH作业执行外部节点的Shell,需要单向免密互信时,可以参考此示例。

前提条件

已经安装Oozie,而且能与外部节点(SSH连接的节点)通信。

操作步骤

  1. 在外部节点上确保连接SSH时使用的用户存在,且该用户“~/.ssh”目录存在。
  2. 在Oozie所在节点上用omm用户登录,执行ssh-keygen -t rsa,生成公私钥。
  3. 执行语句cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,把公钥添加到“authorized_keys”里。
  4. root用户将id_rsa.pub文件传给用户所在外部节点的某个已存在的目录下,例如/“opt/”下。

    scp ~/.ssh/id_rsa.pub root@外部节点ip:/opt/id_rsa.pub

  5. 登录Shell所在外部节点,进入4的目录,可以看到“id_rsa.pub”这个文件。

    执行cat id_rsa.pub >> ~/.ssh/authorized_keys语句,把公钥也添加到Shell所在的用户的“authorized_keys”里。

  6. 更改目录的权限。

    chmod 700 ~/.ssh

    chmod 600 /opt/id_rsa.pub

    chmod 600 ~/.ssh/authorized_keys
    • Shell所在节点(外部节点)的帐户需要有权限执行Shell脚本并对于所有Shell脚本里涉及到的所有目录文件有足够权限。
    • 如果Oozie具有多个节点,需要在所有Oozie节点执行2~6