在新的 上Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-1017-aws x86_64)
,我安装了 Google Authenticator [1] 并按以下方式配置它
/etc/pam.d/sshd
#@include common-auth
...
auth required pam_google_authenticator.so nullok
/etc/ssh/sshd_config
...
ChallengeResponseAuthentication yes
...
AuthenticationMethods publickey,keyboard-interactive
该实用程序在 Ubuntu 16 上有效,但在 Ubuntu 18 上无效,尝试登录时出现以下错误:
$ ssh ubuntu@server
ubuntu@server: Permission denied (keyboard-interactive).
看来 Ubuntu 的新版本发生了一些变化。
当我启用调试时,没有更多信息
Aug 17 11:40:31 ip-10-0-0-182 sshd(pam_google_authenticator)[6834]: debug: start of google_authenticator for "ubuntu"
Aug 17 11:40:31 ip-10-0-0-182 sshd[6832]: error: PAM: Permission denied for ubuntu from X.X.X.X
Aug 17 11:40:32 ip-10-0-0-182 sshd[6832]: Connection closed by authenticating user ubuntu X.X.X.X port 61076 [preauth]
ps. 主目录未加密
[1]apt-get install libpam-google-authenticator
答案1
在 18.04 上,我尝试删除 AuthenticationMethod 行,并且它对我有用