AllowUsers에 속하지 않은 사용자는 SSH를 사용할 수 있습니다.

AllowUsers에 속하지 않은 사용자는 SSH를 사용할 수 있습니다.

평소의 맨 아래에 다음이 있습니다./etc/ssh/sshd_config

Match Group sftpg                                                                                                                                                                                           
     ChrootDirectory /data/%u                                                                                                                                                                               
     ForceCommand internal-sftp                                                                                                                                                                             

# Personal settings                                                                                                                                                                                         
AllowUsers user1                                                                                                                                                                                           
AllowGroups user1                                                                                                                                                                                          
PermitRootLogin no 

이 파일에는 다른 항목이 없으며 AllowUsers적어도 이 디렉토리에는 다른 sshd 구성이 없습니다 /etc/ssh.

그래도 user2SSH를 통해 로그인하는 것은 가능합니다. 나완전히 다시 시작됨컴퓨터.

SSH에 속하지 않은 모든 사용자에게 SSH를 거부하면 안 되나요 AllowUsers? 무엇을 시도할 수 있나요?

id user2반품:

uid=1002(user2) gid=1002(user2) groups=1002(user2),115(nopasswdlogin),999(docker)

답변1

구성 파일에 대한 문서(참고자료 참조 man sshd_config)에서는 Match이러한 블록에 대해 설명합니다(강조).

Match조건부 블록을 도입합니다. 다음 줄의 키워드는 해당 줄의 모든 조건이 충족되는 경우 Match구성 파일의 전역 섹션에 설정된 키워드보다 우선 적용됩니다 .일치하는 다른 줄이나 파일의 끝까지.

그것은 또한 말한다,

키워드 다음 줄에는 키워드 하위 집합만 사용할 수 있습니다 Match. 사용 가능한 키워드는 [...] AllowGroups, [...] AllowUsers, [...] PermitRootLogin, [...] 입니다.

따라서 차단이 적용되는 동안에만 AllowGroups, AllowUsers및 키워드가 적용됩니다. 당신이 쓴대로 :PermitRootLoginMatch Group sftpg

Match Group sftpg                                                                                                                                                                                           
    ChrootDirectory /data/%u                                                                                                                                                                               
    ForceCommand internal-sftp                                                                                                                                                                             
    AllowUsers user1                                                                                                                                                                                           
    AllowGroups user1                                                                                                                                                                                          
    PermitRootLogin no

해결책은 전역 설정을 Match첫 번째 블록 위로 이동하여 모든 곳에 적용되도록 하는 것입니다.

답변2

#Personal 섹션을 "Matching Groups/Matching Users" 섹션 위로 이동하고 sshd를 반송합니다. "Matching Users" 아래의 "AllowUsers"에서도 동일한 문제가 발생했습니다.

관련 정보