
我們目前在 SSH 伺服器上使用 2factor 驗證,因此我們的 sshd_config 中有「RequiredAuthentications2 publickey,keyboard-interactive」(公鑰用於金鑰,keyboard-interactive 用於透過 PAM 處理的 2factor)
為了讓我們的開發人員更輕鬆,我們希望停用 sftp 子系統的 2factor 要求。
我已經搜尋過類似“匹配子系統 sftp”的內容(例如可用的“匹配組”,之後我只能定義“RequiredAuthentications2 publickey”,但似乎這是不可能的。
我研究的另一件事是檢查 PAM,是否有可能為 sftp 子系統定義單獨的配置(這似乎不可行,pam 的服務始終是“ssh”),或者我是否可以在我的sshd pam conf 就像“auth [success=1 default=ignore] pam_succeed_if.so安靜子系統在sftp”
有什麼提示嗎? (除了僅針對具有不同設定的 sftp 設定另一個 sshd 實例之外)
答案1
我不會嘗試透過群組規則放鬆安全性,而是使用預設安全性並透過群組規則加強安全性。以下範例需要對 進行 2 因素身份驗證users
,但不需要sftp-users
。
# Only these groups can connect
AllowGroups users sftp-users
Match Group users
RequiredAuthenticatios2 publickey,keyboard-interactive
Match Group sftp-users
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
我在 Ubuntu 系統上成功地建立了這個原型,指定了我的 sshd_config 手冊頁,AuthenticationMethods
而不是CentOS 系統手冊頁中的RequiredAuthenticatios1
和。RequiredAuthenticatios2
等效線是
AuthenticationMethods publickey,password