我已经启动了新的 Ubuntu 23.04 服务器并按照参考链接 (1) 中提到的步骤进行操作。但是在配置文件中更新租户 ID 和应用程序 ID 后,它不会提示输入登录凭据。然后我在服务器中安装了 GNOME GUI 来测试 azure 身份验证,但不起作用。
有人可以确认此 Azure AD 集成是否兼容/与 CLI/SSH 版本兼容。
参考链接:(1)https://ubuntu.com/blog/azure-ad-authentication-comes-to-ubuntu-desktop-23-04 (2)https://github.com/ubuntu/aad-auth
答案1
我注意到,在我的 Ubuntu 24.04 服务器中使用 pam_aad 时,您需要通过 GDM 登录,然后才能将 aad 帐户添加到 /var/lib/aad/cache/passwd.db,之后,您才能通过 ssh 连接到启用 aad 的服务器。此外,没有识别出任何 aad 组,但如果您愿意,可以将 aad 帐户添加到本地 /etc/groups 文件中。似乎(至少在我的配置中)使用 pam_aad.so 的 sshd 无法获取正确的凭据,而 GDM 可以。
sshd[12625]: pam_aad(sshd:auth): aad auth debug enabled
sshd[12625]: pam_aad(sshd:auth): PAM AAD DEBUG enabled
sshd[12625]: pam_aad(sshd:auth): Loading configuration from /etc/aad.conf
sshd[12625]: pam_aad(sshd:auth): Connecting to "https://login.microsoftonline.com/(my tenant id)", with clientID "(my app_id)" for user "(my aad acccount)"
sshd[12625]: pam_aad(sshd:auth): Got response: Invalid credentials
成功的 GDM 登录的 pam_aad 日志显示相同的内容,但在“连接”行之后显示:
[gdm-password]: pam_aad(gdm-password:auth): Authentication successful even if requiring MFA
另外,在 MS Entra 管理中心,我需要:
- 应用程序注册 -> (您的应用程序) -> 高级设置:允许公共客户端流程
然后重新启动以防万一。