从 OpenSSH 6.2 开始已经支持 SSH 多因素认证,本文就来说讲如何在 OpenSSH 下启用该特性。 |
OpenSSH 6.2 之后的版本多了一个配置项 AuthenticationMethods。该配置项可让 OpenSSH 同时指定一个或多个认证方式,只有全部认证方式都经过后才会被认为是认证成功。html
好比:要指定帐户必须同时拥有指定的密钥和正确的密码才能登录,则能够这样配置。linux
# 不要忘记开启这些认证方式 PubkeyAuthentication yes PasswordAuthentication yes AuthenticationMethods publickey,password
注:多个认证方式之间用 , 分隔开来。git
你也能够设置多组多因素认证,只要每组认证用空格分隔开就行。shell
好比:你要设置登录用户必须有合适的密钥,而后如果用户来自于授信主机,则让他直接登录,不然还须要输入密码才能登录。咱们能够相似下面这样配置:安全
AuthenticationMethods publickey,password publickey,hostbased
开启多因素认证有一个很差的地方就是对自动化脚本很不友好。所以通常来讲多因素认证会跟 Match User 或 Match Group 一块儿连用,用来限制某些用户开启或者不开启双因素认证。ssh
好比:一个比较常见的场景可能就是为有管理权限的用户设置多因素认证。htm
PubkeyAuthentication yes PasswordAuthentication yes Match Group wheel AuthenticationMethods publickey,password
固然,你也能够为通常用户都开启多因素认证,但提供某些密钥认证的用户来给自动化脚本使用。blog
AuthenticationMethods publickey,password Match User git AuthenticationMethods publickey ForceCommand /usr/bin/git-shell -c "$SSH_ORIGINAL_COMMAND"
本文地址:https://www.linuxprobe.com/two-steps-ssh-security.htmlget