8.2. 使用智能卡远程连接到 sudo
按照以下流程,配置 SSH 代理和客户端,以使用智能卡远程连接到 sudo。
先决条件
-
您已在 IdM 中创建了
sudo规则。 - 您已将 IdM 配置为支持使用 FIDO2 Yubikeys 或使用智能卡的 PKINIT 身份验证的 passkey 身份验证。
-
您已在要运行
sudo的远程系统上为sudo身份验证配置了pam_sss_gss模块。
流程
启动 SSH 代理(如果尚未运行)。
eval `ssh-agent`
# eval `ssh-agent`Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将您的智能卡添加到 SSH 代理。提示时输入您的 PIN:
ssh-add -s /usr/lib64/opensc-pkcs11.so
# ssh-add -s /usr/lib64/opensc-pkcs11.soCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用启用了 ssh-agent 转发的 SSH 连接到需要远程运行
sudo的系统。使用-A选项:ssh -A ipauser1@server.ipa.test
# ssh -A ipauser1@server.ipa.testCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
使用
sudo运行whoami命令:sudo /usr/bin/whoami
# sudo /usr/bin/whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
插入智能卡时,不会提示您输入 PIN 或密码。
注意
如果 SSH 代理被配置为使用其他源,如 GNOME Keyring,且您在删除智能卡后运行 sudo 命令,可能不会提示您输入 PIN 或密码,因为其他源可能提供了对有效私钥的访问。要检查 SSH 代理已知的所有身份的公钥,请运行 ssh-add -L 命令。