從 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