有一个类似问题,但这并不是我想要的。
我想知道是否有 lightdm 或 gdm 的插件或附加组件,允许我使用密码和 google 身份验证器进行身份验证。我的意思是将您的 GA 代码输入桌面登录(GUI 或命令行、shell 登录)以访问您的本地桌面。
答案1
安装
像这样安装 Google Authenticator PAM 模块:
sudo apt-get install libpam-google-authenticator
现在,针对您想要使用 Google Authenticator 的每个用户运行google-authenticator
(在终端内)并按照说明操作。您将获得一个可以使用智能手机扫描的二维码(或链接)和紧急代码。
配置
要激活 Google Authenticator,请查看目录/etc/pam.d/。每种使用计算机进行身份验证的方式都有一个文件。您需要编辑要与 Google Authenticator 一起使用的每项服务的配置文件。如果您想将其与 SSH 一起使用,请编辑sshd,如果你想在 LightDM 中使用它,请编辑光调制. 在这些文件中,添加一以下几行:
auth required pam_google_authenticator.so nullok
auth required pam_google_authenticator.so
使用第一行,当您仍在将用户迁移到 Google Authenticator 时。未配置的用户仍可登录。第二行将强制使用 Google Authenticator。没有它的用户将无法再登录。对于 sshd,将这一行放在顶部该文件以防止对您的密码进行暴力攻击。
要将其添加到 LightDM,您可以运行以下命令:
echo "auth required pam_google_authenticator.so nullok" | sudo tee -a /etc/pam.d/lightdm
现在,当您登录时,系统会分别要求您输入密码和两步验证码。
加密主目录
如果你使用家庭加密(ecryptfs),文件$HOME/.google_authenticatorPAM 模块将无法读取(因为它仍处于加密状态)。在这种情况下,您需要将其移到其他地方并告诉 PAM 在哪里找到它。可能的一行可能如下所示:
auth required pam_google_authenticator.so secret=/home/.ga/${USER}/.google_authenticator
您需要为每个用户创建一个目录/主页/.ga具有用户名并将该目录的所有权更改为用户。然后用户可以运行google-authenticator
并将创建的 .google-authenticator 文件移动到该目录。用户可以运行以下几行:
sudo install -g $(id -rgn) -o $USER -m 700 -d /home/.ga/$USER
google-authenticator
mv $HOME/.google_authenticator /home/.ga/$USER
这将允许模块访问该文件。
如需其他选项,请查看自述。
答案2
请看一下这篇博客文章,标题为:桌面上的 Google 两步验证是什么?
安装
sudo apt-get install libpam-google-authenticator
用法
google-authenticator
根据博客文章,lightdm-kde 的一个版本包含双因素身份验证,当您将包含的 PAM 模块添加到您的环境中时,它可以利用 Google Authenticator。
auth required pam_google_authenticator.so
您的 GUI 登录信息如下所示:
答案3
在 ssh 上使用双因素身份验证(如上文所述)仍会使您的系统面临可能对您的密码进行暴力攻击的风险。这可能会危及第一个因素:您的密码。因此,我个人决定在底部添加以下行,而不是在底部顶部该/etc/pam.d/sshd
文件以前没有明确指出:
auth required pam_google_authenticator.so
这样首先会提示您输入验证码,然后输入密码(无论您输入的验证码是否正确)。使用此配置,如果您输入的验证码或密码不正确,则必须重新输入它们。我同意这有点麻烦,但是嘿:您想要安全还是只是一种安全感?