Linux

在 Linux 的 sshd_config 文件中可以給出的 AllowUsers 中的使用者條目數量是否有限制?

  • December 19, 2020

我有一個 SFTP 伺服器,我需要在其中限制具有特定 IP 地址或範圍的使用者。

為了實現這一點,我一直在將AllowUsers條目附加到sshd_config文件中,如下所示,同一行上有 180 個這樣的條目:

AllowUsers user1 user2 user3@ipaddress user4@ipaddress/n user5@ipaddres user5@address user5@address

等等。

問題是,伺服器的ssh服務最近一直在下降。並且在檢查伺服器消息日誌時,導致服務失敗的錯誤是Line 143 too long。第 143AllowUsers行是我的配置文件中的行。一旦條目數量達到 184,服務似乎就會下降。

似乎AllowUsers無法添加更多條目。的條目數量是否有任何限制AllowUsers

**請緊急幫助我解決問題。**我不認為這AllowGroups對我來說是一個選擇,因為我需要使用一組不同的 IP 來限制每個使用者。

查看舊版本的 ssh,如7.4servconf.c ,我們在函式load_server_config中看到錯誤消息,其中最大行長度為 4096 字節。

但是,查看AllowUsers同一文件中對行的處理似乎表明您可以簡單地添加更多相同類型的行。例如

AllowUsers user4@ipaddress/n user5@ipaddress
AllowUsers user6@ipaddress/n user7@ipaddress

請注意,在此版本中,保存條目的數組具有固定大小,MAX_ALLOW_USERS即 256 個條目。要超過該限制,您可以使用Match行來添加更多使用者。

我正在閱讀 openssh-8.4p1 原始碼,但沒有看到對AllowUsers. 請嘗試安裝此版本並報告它是否對您有幫助。您可以將它安裝到/usr/local並使其在不同的埠上偵聽,這樣您就不需要弄亂舊的 sshd。

引用自:https://unix.stackexchange.com/questions/620599