我有一台运行 Ubuntu 20.04 的服务器,我想尝试设置双因素身份验证来保护 SSH 登录。
我登录到我的服务器,并按照本教程进行操作:(https://www.rosehosting.com/blog/how-to-set-up-multi-factor-authentication-for-ssh-on-ubuntu-20-04/
编辑:我故意删除了超链接,因为我不推荐该教程。使用Ubuntu 官方教程反而)
我做的不同之处在于,我使用了我自己的用户(不是 root),该用户具有 sudo 权限。因此,apt-get install libpam-google-authenticator -y
我没有执行 ,而是执行了sudo apt-get install libpam-google-authenticator -y
,等等。
我尝试退出,然后尝试再次登录,但没有成功。它一遍又一遍地要求我输入密码
~$ ssh [email protected]
Password: <- I enter the password and hit ENTER
Password: <- I enter the password and hit ENTER
Password: <- I enter the password and hit ENTER
[email protected]'s password: <- I enter the password and hit ENTER
Permission denied, please try again.
[email protected]'s password: <- I enter the password and hit ENTER
Received disconnect from 10.0.0.10 port 22:2: Too many authentication failures
Disconnected from 10.0.0.10 port 22
我尝试查看日志文件/var/log/auth.log
并注意到以下我认为相关的行:
sshd(pam_google_authenticator) [9164]:Failed to read "/home/birger/.google_authenticator" for "birger"
sshd[9162]: error: PAM: Authentication faile for birger from 10.0.0.254
所以我的问题是,为什么启用 Google 2-factor 后 SSH 登录会失败?我该怎么做才能解决这个问题?我尝试查找/home/birger/.google_authenticator
日志中提到的文件,但它不存在...
幸运的是,我可以物理访问服务器,因此我可以将显示器和键盘连接到服务器,然后就可以使用标准的本地登录进行登录。