配置 sudo 提升和 SSH 密钥

使用 Operations Manager,可以使用 sudo 为在 UNIX 或 Linux 计算机上提升的未特权帐户提供凭据,从而允许用户运行程序或访问具有另一个用户帐户的安全权限的文件。 对于代理维护,还可以使用安全外壳(SSH)密钥,而不是密码,以便在 Operations Manager 与目标计算机之间安全通信。

注意

Operations Manager 支持使用 PuTTY 私钥(PPK)格式的密钥文件数据的基于 SSH 密钥的身份验证。 目前支持 SSH v.1 RSA 密钥和 SSH v.2 RSA 和 DSA 密钥。

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

  • 文件传输工具(如 WinSCP)用于将文件从 UNIX 或 Linux 计算机传输到基于 Windows 的计算机。
  • PuTTY 程序或类似的程序,用于在 UNIX 或 Linux 计算机上运行命令。
  • PuTTYgen 程序,用于在基于 Windows 的计算机上以 OpenSSH 格式保存专用 SHH 密钥。

注意

sudo 程序位于 UNIX 和 Linux 操作系统上的不同位置。 为了提供对 sudo 的统一访问,UNIX 和 Linux 代理安装脚本会创建符号链接 /etc/opt/microsoft/scx/conf/sudodir ,指向预期包含 sudo 程序的目录。 然后,代理使用此符号链接调用 sudo。 自动安装代理时,此符号链接会自动创建,标准 UNIX 和 Linux 配置无需执行其他操作;但是,如果在非标准位置安装了 sudo,则应更改符号链接以指向安装了 sudo 的目录。 如果更改符号链接,则会在代理的卸载、重新安装和升级操作之间保留其值。

为 sudo 提升配置帐户

注意

本节中提供的信息逐步讲解如何配置示例用户, scomuser并在客户端计算机上授予其完全权限。

如果已有用户帐户和/或想要设置 低特权 监视,则 sudoers 模板可用,并且仅授予成功监视和维护操作所需的权限。 有关详细信息,请参阅: 用于 UNIX/Linux 监视中的提升的 Sudoers 模板

以下过程使用 scomuser 用户名创建帐户和 sudo 提升。

创建用户

  1. root
  2. 添加用户: useradd scomuser
  3. 添加密码并确认密码: passwd scomuser

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

为用户配置 sudo 提升

  1. root

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

  3. 找到以下行: root ALL=(ALL) ALL

  4. 在其后面插入以下行: scomuser ALL=(ALL) NOPASSWD: ALL

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

    重要

    需要执行此步骤才能使 sudo 正常工作。

  6. 保存文件并退出 visudo:

    • ESC: (colon)wq!,然后按 Enter 保存更改并正常退出。
  7. 通过输入以下两个命令来测试配置。 结果应为目录列表,而不提示输入密码:

    su - scomuser
    sudo ls /etc
    

现在,可以使用帐户的密码和 sudo 提升来访问 scomuser 帐户,从而允许在任务和发现向导以及 RunAs 帐户中指定凭据。

创建用于身份验证的 SSH 密钥

提示

SSH 密钥仅用于代理维护操作,不用于监视,请确保在使用多个帐户时为正确的用户创建密钥。

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

生成 SSH 密钥

  1. 以 . 身份 scomuser登录。
  2. 使用数字签名算法(DSA)算法生成密钥: ssh-keygen -t dsa
    • 如果提供了可选通行短语,请记下该密码。

ssh-keygen 实用工具使用私钥文件和id_dsa内部公钥文件id_dsa.pub创建/home/scomuser/.ssh目录,这些文件在以下过程中使用。

配置用户帐户以支持 SSH 密钥

  1. 在命令提示符处,键入以下命令。 导航到用户帐户目录: cd /home/scomuser
  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 (无扩展名)从客户端传输到基于 Windows 的计算机上的目录。
  2. 运行 PuTTYgen。
  3. PuTTY 密钥生成器 对话框中,选择“ 加载 ”按钮,然后选择从 UNIX 或 Linux 计算机传输的私钥 id_dsa
  4. 选择“ 保存私钥 ”和“名称”,并将该文件保存到所需的目录。
  5. 可以在配置的 scomuser维护 RunAs 帐户中使用导出的文件,或者在通过控制台执行维护任务时使用。

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

重要

PPK 文件版本 2 是 System Center Operations Manager 当前唯一支持的版本。

默认情况下,PuTTYgen 设置为使用 PPK 文件版本 3。 可以转到工具栏并选择用于保存密钥文件的密钥 > 参数,将 PPK 文件版本更改为 2,然后选择 PPK 文件版本的单选按钮。

PuTTY 密钥生成器的屏幕截图,其中显示了在何处为私钥选择 PPK 文件版本。

后续步骤