第 8 章 使用智能卡进行远程向 sudo 进行身份验证

这部分论述了如何使用智能卡远程对 sudo 进行身份验证。在 ssh-agent 服务本地运行且无法将 ssh-agent 套接字转发到远程机器后,您可以使用 sudo PAM 模块中的 SSH 身份验证协议进行远程验证。

在使用智能卡进行本地登录后,您可以通过 SSH 登录到远程机器并运行 sudo 命令,而无需使用智能卡验证的 SSH 转发来提示输入密码。

在本示例中,客户端通过 SSH 连接到 IPA 服务器,并在 IPA 服务器中使用保存在智能卡中的凭证运行 sudo 命令。

8.1. 在 IdM 中创建 sudo 规则

按照以下流程,在 IdM 中创建 sudo 规则,以便 ipauser1 权限在远程主机上运行 sudo。

在本示例中,lesswhoami 命令被添加为 sudo 命令来测试该流程。

先决条件

  • IdM 用户已创建。在本例中,用户名为 ipauser1
  • 您有远程运行 sudo 的系统的主机名。在本示例中,主机是 server.ipa.test

步骤

  1. 创建名为 adminrulesudo 规则,允许用户运行命令。

    ipa sudorule-add adminrule
  2. 添加 lesswhoami 作为 sudo 命令:

    ipa sudocmd-add /usr/bin/less
    ipa sudocmd-add /usr/bin/whoami
  3. lesswhoami 命令添加到 adminrule 中:

    ipa sudorule-add-allow-command adminrule --sudocmds /usr/bin/less
    ipa sudorule-add-allow-command adminrule --sudocmds /usr/bin/whoami
  4. ipauser1 用户添加到 adminrule 中:

    ipa sudorule-add-user adminrule --users ipauser1
  5. 将运行 sudo 的主机添加到 adminrule 中:

    ipa sudorule-add-host adminrule --hosts server.ipa.test

其他资源

  • 请参阅 ipa sudorule-add --help
  • 请参阅 ipa sudocmd-add --help