阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Google Authenticator实现Linux用户登录双认证

141次阅读
没有评论

共计 2069 个字符,预计需要花费 6 分钟才能阅读完成。

系统:CentOS 7.5 X64

# 安装开发者工具

yum groupinstall “Development Tools” -y

# 安装 pam 开发包

yum install pam-devel -y

# 安装 chrony 软件,chrony 是网络时间协议的(NTP)的另一种实现, 因为动态口令再验证时用到了时间,所以要保持时间上的一致性

yum install chrony -y

vi /etc/chrony.conf

server 2.cn.pool.ntp.org iburst

systemctl restart chronyd

chronyc sources

# 如果时区不对的话,可以拷贝你当前地区所在地的时区到系统运行的时区

#cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

### 安装 google-authenticator

cd /opt

git clone https://github.com/google/google-authenticator-libpam.git

cd google-authenticator-libpam/

./bootstrap.sh

./configure

make && make install

ln -s /usr/local/lib/security/pam_google_authenticator.so /usr/lib64/security/pam_google_authenticator.so

# 配置系统 PAM 模块,修改 sshd 支持谷歌的认证, 在 sshd 文件的第一行

vi /etc/pam.d/sshd

auth      required pam_google_authenticator.so

vi /etc/ssh/sshd_config

ChallengeResponseAuthentication yes

# 安装二维码生成工具,这步也可以省略,如果不装的话,因为下一步生成的二维码就会成一个链接,

# 到时将链接复制到你的浏览器中,也是可以出现二维码的,到时利用智能手机打开 google author 进行扫描。

cd /opt

yum -y install libpng libpng-devel

wget -c https://fukuchi.org/works/qrencode/qrencode-4.0.2.tar.bz2

tar jxvf qrencode-4.0.2.tar.bz2

cd qrencode-4.0.2

./configure

make && make install

# 运行 google-authenticator 命令,它将会在当前登陆用户的家目录中生成一个新的密钥

cd ~

google-authenticator

#Your emergency scratch codes are:

#  98627355

#  45083255

#  48589468

#  91373042

#  22191496

# 上述共需回答 5 个 y

# 第 1 个:问你是否想做一个基于时间的令×××y

# 第 2 个:是否更新你的 google 认证文件,由于第一次设置,所以一定选 y

# 第 3 个:是否禁止口令多用,这里选择 y,禁止它,以防止中间人欺骗。y

# 第 4 个:默认情况,1 个口令的有效期是 30s,这里是为了防止主机时间和口令客户端时间不一致,设置的误差,可以选择 y,也可选 n,看要求严谨程度 y

# 第 5 个:是否打开尝试次数限制,默认情况,30s 内不得超过 3 次登陆测试,防止别人暴力破解。y

# 并且上面这些设置将被存储在用户的 /.google_authenticator 文件中,emergency scratch codes 中的 5 个代码是紧急代码,务必牢记,

# 这是在你的动态口令无法使用的情况下使用的,记住,用一个失效一个。后期可以登陆上去后,重新生成!

# 此时打开手机上的 Google Authenticator 应用扫描二维码

# 最后重启 sshd 服务

systemctl restart sshd

###— secureCRT 设置 keyboard interactive 需要放在第一位 —###

Google Authenticator 实现 Linux 用户登录双认证

### 解决内网主机跳过二次认证

# 编辑 pam.d 下的 sshd 文件,在第一行增加内容,主要是指定允许的主机信息文件

more -2 /etc/pam.d/sshd

auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-localhost.conf

auth      required pam_google_authenticator.so no_increment_hotp

# 然后在 /etc/security/ 目录下创建 access-localhost.conf 文件

cat /etc/security/access-localhost.conf

# skipped local network for google auth…

+ : ALL : 192.168.11.0/24

+ : ALL : LOCAL

– : ALL : ALL

# 最后重启 sshd 服务

systemctl restart sshd

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2069字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中