8.3. 使用智能卡远程连接到 sudo

按照以下流程,配置 SSH 代理和客户端,以使用智能卡远程连接到 sudo

先决条件

  • 您已在 IdM 中创建了 sudo 规则。
  • 您已为您要在远程系统上运行 sudo sudo 身份验证安装并设置了 pam_ssh_agent_auth PAM 模块。

步骤

  1. 启动 SSH 代理(如果尚未运行)。

    eval `ssh-agent`
  2. 将您的智能卡添加到 SSH 代理。提示时输入您的 PIN:

    ssh-add -s /usr/lib64/opensc-pkcs11.so
  3. 使用启用了 ssh-agent 转发的 SSH 连接到需要远程运行 sudo 的系统。使用 -A 选项:

    ssh -A ipauser1@server.ipa.test

验证步骤

  • 使用 sudo 运行 whoami 命令:

    sudo /usr/bin/whoami

插入智能卡时,不会提示您输入 PIN 或密码。

注意

如果 SSH 代理被配置为使用其他源,如 GNOME Keyring,且您在删除智能卡后运行 sudo 命令,您可能不会提示您输入 PIN 或密码,因为其他源可能提供了对有效私钥的访问。要检查所有身份的公钥是否被 SSH 代理知道,请运行 ssh-add -L 命令。