
我在從 sshd 配置的匹配組語句中排除使用者時遇到問題。
我已經有這樣聲明的用戶排除
Match Group sftpusergroup User *,!"sftp_user"
這只有在我將使用者放入「」後才開始工作,我懷疑這是因為使用者名稱上的 _ 。
現在我需要將第二個用戶添加到此排除中,但是當我這樣做時,所有用戶在嘗試連接到伺服器時都會收到以下錯誤
16:23:56 錯誤:網路錯誤:連線被拒絕
16:23:56 錯誤:無法連線到伺服器
我使用新增了第二個排除項
Match Group sftpusergroup User *,!"sftp_user",!"sftp_user_2"
也嘗試用
Match Group sftpusergroup User *,!"sftp_user",!sftp_user_2
但總是得到相同的結果。有人以前經歷過這種行為嗎?
答案1
我以前沒有見過這種行為,但看看man ssh_config
我懂了:
模式清單是以逗號分隔的模式清單。模式清單中的模式可以透過在它們前面加上感嘆號(「!」)來否定。例如,要允許從組織內除「撥號」池之外的任何位置使用金鑰,可以使用下列條目(在authorized_keys中):
來自=”!.dialup.example.com,.example.com”
也許這會起作用:
Match Group sftpusergroup User "*,!sftp_user,!sftp_user_2"
將整個使用者清單放在引號中。