如何配置 sudo 提升和 SSH 密钥

 

发布时间: 2016年3月

适用对象:System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

从开始 System Center 2012 – Operations Manager, ,您可以提供以可通过使用 sudo 程序,从而允许用户运行包含另一个用户帐户的安全特权的程序提升在 UNIX 或 Linux 计算机上的无特权帐户的凭据。 您还可以为 Operations Manager 与目标的计算机之间安全通信而不是密码使用安全外壳 (SSH) 密钥。

本主题提供用于创建为低权限用户帐户、 实现 sudo,和正在运行 Red Hat Enterprise Linux Server 6 的计算机上创建 SSH 密钥的示例。 这些是仅为示例,可能不会反映您的环境。 下面的示例提供的用户有权访问完整的一组特权。

若要获取和配置 SSH 密钥从 UNIX 和 Linux 计算机上,您需要在基于 Windows 的计算机上安装以下软件:

  • 文件传输工具例如 WinSCP 将文件从 UNIX 或 Linux 计算机传输到基于 Windows 的计算机。

  • PuTTY 程序或类似程序,在 UNIX 或 Linux 计算机上运行命令。

  • 要在基于 Windows 的计算机上以 OpenSSH 格式保存 SHH 私钥的 PuTTYgen 程序。

System_CAPS_note注意

在 UNIX 和 Linux 操作系统上的不同位置存在 sudo 程序。 若要提供统一访问 sudo,UNIX 和 Linux 代理的安装脚本会创建符号链接 /etc/opt/microsoft/scx/conf/sudodir 以指向应包含 sudo 程序的目录。 代理使用此符号链接来调用 sudo。 安装脚本会自动创建符号链接,因此您不需要标准的 UNIX 和 Linux 配置 ; 对其执行任何操作但是,如果您有 sudo 安装在非标准位置,您应更改符号链接以指向安装 sudo 的目录。 如果更改符号链接,请保留其值跨卸载、 重新安装和升级与代理的操作。

配置用于 sudo 提升权限的低特权帐户

通过使用以下过程创建的低特权帐户和 sudo 提升 opsuser 用户名称。

若要创建的低特权用户

  1. 登录到 UNIX 或 Linux 计算机作为 root。

  2. 将用户添加:

    useradd opsuser

  3. 添加密码并确认密码:

    passwd opsuser

现在,可以配置 sudo 提升并创建 SSH 密钥为 opsuser, ,如以下过程中所述。

若要配置低特权用户的 sudo 提升

  1. 登录到 UNIX 或 Linux 计算机作为 root。

  2. 使用 visudo 程序编辑 vi 文本编辑器中的 sudo 配置。 运行以下命令:

    visudo

  3. 找到以下行:

    root ALL=(ALL) ALL

  4. 在它后面插入以下行:

    opsuser ALL=(ALL) NOPASSWD: ALL

  5. 不支持 TTY 分配。 请确保以下行注释掉:

    # Defaults requiretty

    System_CAPS_important重要事项

    此步骤中都需要 sudo 工作。

  6. 保存该文件并退出 visudo:

    按 esc 键 +: (冒号) 后跟 wq!, ,然后按 enter 键。

  7. 通过输入以下两个命令中测试配置。 结果应为在不提示输入密码的情况下的目录的列表:

    su - opsuser

    sudo ls /etc

您可以使用 opsuser 通过使用密码和 sudo 提升用于指定在 Operations Manager 向导中的凭据和用于配置运行方式帐户的帐户。

创建 SSH 密钥进行身份验证

以下过程创建的 SSH 密钥 opsuser 在前面的示例中创建的帐户。

若要生成 SSH 密钥

  1. 作为登录 opsuser。

  2. 通过使用数字签名算法 (DSA) 算法来生成密钥:

    ssh-keygen –t dsa

    如果您提供了它,注意可选密码。

ssh-keygen 创建 /home/opsuser/.ssh 目录以及私钥文件 (id_dsa) 和公钥文件 (id_dsa.pub)。 你现在可以配置的密钥必须由支持 opsuser 中下一个过程中所述。

若要配置用户帐户以支持的 SSH 密钥。

  1. 在命令提示符下键入以下命令。 若要导航到用户帐户目录:

    cd /home/opsuser

  2. 指定排他所有者对目录的访问权限:

    chmod 700 .ssh

  3. 导航到.ssh 目录:

    cd .ssh

  4. 使用的公钥创建授权的密钥文件:

    cat id_dsa.pub >> authorized_keys

  5. 授予用户读取和写入到授权的密钥文件的权限:

    chmod 600 authorized_keys

您现在可以将专用的 SSH 密钥复制到基于 Windows 的计算机下, 一个过程中所述。

若要将专用的 SSH 密钥复制到基于 Windows 的计算机并以 OpenSSH 格式保存

  1. 使用 WinSCP,之类的工具要传输的私钥文件 (id_dsa – 不带扩展名) 从 UNIX 或 Linux 计算机到基于 Windows 的计算机上的目录。

  2. 运行 PuTTYgen。

  3. PuTTY 密钥生成器 对话框中,单击 负载 按钮,,然后选择私钥 (id_dsa) 从 UNIX 或 Linux 计算机传输。

  4. 单击 保存私钥 和名称以及该文件保存到所需的目录。

您可以使用 opsuser 使用 SSH 密钥和 sudo 提升为在 Operations Manager 向导中指定凭据和配置运行方式帐户的帐户。