Linux · 2022年10月1日 0

Ubuntu使用Canokey达到sudo免输入密码或作为二次验证

最近购入了Canokey Pigeon来折腾顺带增强安全性,不仅可以快速登录(或作为二次验证)网络服务,还可以在本地使用。本篇文章将介绍如何使用Canokey(或Yuibikey,亲测可行)跳过输入密码或者同时需要密码和Canokey(2FA)。

笔者系统为Ubuntu 22.04.1 LTS,设备为Canokey Pigeon。

1.安装所需的软件

打开终端,输入以下命令来安装所需

sudo apt-get install libpam-u2f

2.将设备和您的计算机联系起来

打开终端并插入您的Canokey,然后创建存储key的文件夹(此处储存至~/.config/Canokey)

mkdir -p ~/.config/Canokey

接着运行以下命令(替换为您的路径)

pamu2fcfg > ~/.config/Canokey/u2f_keys

此时观察Canokey的灯是否闪烁,若闪烁请您轻触金属部分以继续。

如果您有多个Canokey(或Yubikey),类似的可输入以下命令继续设置(若没有则跳过,后续购入了可按此操作)

pamu2fcfg -n >> ~/.config/Canokey/u2f_keys

成功后会生成u2f_keys。但此时(按照文章操作的话)处于一个都可以访问的路径,您可以移动到一个仅root用户有权限的路径。此处我移动到“/etc/Canokey”(sudo mv ~/.config/Canokey/u2f_keys /etc/Canokey/u2f_keys)

3.设置sudo使用Canokey

在终端中输入以下命令打开配置文件

sudo vim /etc/pam.d/sudo

在“@include common-auth”前或后按照您的需要加入内容

  • 在插入Canokey时免密码,未插入时输入密码:“auth sufficient pam_u2f.so authfile=/etc/Canokey/u2f_keys”,在“@include common-auth”前;
  • 必须插入Canokey,同时也要输入密码(二次验证):“auth required pam_u2f.so authfile=/etc/Canokey/u2f_keys”,在“@include common-auth”后。

此时Esc后输入“:w”保存,为保证安全暂时不要退出vim编辑器。

打开新的终端,输入“sudo echo test”测试是否为您想要的情况(认证时当Canokey灯光闪烁您同样需要轻触金属部分)。若是您可直接退出,若不是返回修改(或者删除增加的内容)。

此时sudo免输入密码或作为二次验证应设置完毕。

参考资料:(全是Yubikey的)

心情表态
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0