我想知道是否有可能在同一时间完成以下内容:
使用sshd_config的Match块,我能够设置这个,所以通常PasswordAuthentication被禁用,除了非特权用户(让我们称之为peon )。 login个人用户(具有sudofunction)需要SSH密钥。
但是,当我尝试启用双因素身份validation( pam_google_authenticator )时,我必须打开ChallengeResponseAuthentication (似乎无法在Match块中工作),因此每个人都要重新启用密码身份validation。
有没有办法做到这一点? 我对这种types的东西不是太好,所以详细的解释将非常感激。
谢谢!
最近版本的openssh包括AuthenticationMethods选项:
Debian支持openssh-6.2 ,所以我期望在Raspbian中也可以使用它。
指定必须成功完成用户授予访问权限的身份validation方法。
您可以使用启用ChallengeResponseAuthentication的sshd_config主块:
ChallengeResponseAuthentication yes PasswordAuthentication no PermitRootLogin no
然后在Match块中使用AuthenticationMethods (使用Group匹配而不是User匹配来缓解可伸缩性):
Match Group personal AuthenticationMethods publickey Match Group peon PasswordAuthentication yes AuthenticationMethods publickey,keyboard-interactive
此外,只有匹配组需要时,才可以使用pam_succeed_if(8)来触发双因素身份validation:
auth required pam_succeed_if.so quiet user ingroup peon