Google Authenticator-LibPAM 开源项目安装与使用指南
google-authenticator-libpam项目地址:https://gitcode.com/gh_mirrors/go/google-authenticator-libpam
目录结构及介绍
在克隆或下载google-authenticator-libpam
项目后, 您将看到以下主要文件夹和文件:
- .git - Git版本控制系统信息存储库.
- Makefile - 包含编译和安装过程中使用的规则.
- src/ - 存放项目源代码的目录.
pam_google_authenticator.c
- 这是主要的程序实现.
- docs/ - 文档相关的目录, 可能包含如README, 用户手册等文件.
- scripts/ - 包含辅助脚本用于自动化任务.
配置文件与系统整合
-
/etc/pam.d/common-auth
- 这个文件位于系统中而不是项目内, 其中定义了如何验证用户密码的过程. 在这里我们需要添加对pam_google_authenticator.so
的支持以启用谷歌认证器功能. -
/etc/ssh/sshd_config
- SSH服务的主要配置文件. 我们需要修改此文件中的ChallengeResponseAuthentication
设置以允许谷歌二次验证.
启动文件介绍
google-authenticator
这是一个可执行二进制文件, 当您运行它时, 它将创建并配置您的帐户密钥以及与其关联的QR码或手动输入码. 这些数据将被保存在用户的主目录下的.google_authenticator
文件中.
运行google-authenticator
命令, 系统将会询问您一系列有关保护机制的配置选项, 包括是否启用时间偏移补偿或同步计数器模式, 验证代码的长度等等.
配置文件介绍
在系统上正确安装和配置google-authenticator-libpam
, 您需要修改几个关键的配置文件:
/etc/pam.d/common-auth
在这个文件里, 找到涉及pam_unix.so
的部分并在其前面加上一行来包含pam_google_authenticator.so
. 修改后的部分应类似于下面的例子:
auth [success=1 default=ignore] pam_unix.so nullok
auth required pam_google_authenticator.so
这样确保了在用户尝试登录系统时, 除了传统的口令外, 还要求他们提供由Google Authenticator应用产生的验证码.
/etc/ssh/sshd_config
为了使SSH服务器能够响应这种双重身份验证请求, 我们还应该更新sshd_config
文件. 寻找以下关键字进行调整:
ChallengeResponseAuthentication no
将其改为:
ChallengeResponseAuthentication yes
保存更改并重启SSH守护进程使得新的设定生效.
以上步骤将成功地把google-authenticator-libpam
集成至你的Ubuntu或其他Linux发行版中, 并且实现基于时间的一次性密码认证机制提高安全性.
请注意每次做这些改变时都应该仔细检查配置细节避免意外锁定自己之外的人群, 或者引入任何不必要的漏洞.
google-authenticator-libpam项目地址:https://gitcode.com/gh_mirrors/go/google-authenticator-libpam