首先,安装好 google-authenticator,如下:


sudo apt update && sudo apt install -y libpam-google-authenticator

安装好后,输入:google-authenticator,将输出二维码及 secret-key 的信息以及几个紧急验证码。

在移动端或相关设备上安装好 google 身份验证器 app,扫描二维码即可。同时,请备份好此二维码及相关信息,因为移动端上的 app 无法进行备份。最好是将其备份在 1password 或者 MacPass 等相关密码保存软件上。

下面,开始配置 SSH。


sudo vim /etc/ssh/sshd_config

找到下面两行,并将它们的值改为 yes (一般在 84 行和 61 行,在 vim 上跳转到某行,可先按具体行数,在按 G,注意是大写)


UsePAM yes

ChallengeResponseAuthentication yes

在文件末尾(先按$,再按G)加上


AuthenticationMethods publickey,keyboard-interactive

保存退出(按Esc,再输入wq,回车确认)。

下面,给 PAM 添加规则。


sudo vim /etc/pam.d/sshd

在文件开头加上


auth sufficient pam_google_authenticator.so

最后,重启 SSH


sudo systemctl restart ssh

之后,另开一个窗口使用 SSH 进行连接测试,千万别把这个窗口关了,不然万一有问题,就会连不上,很麻烦。