Centos 7에서 sshd_config는 어떻게 생겼습니까? 루트를 거부하고 내부 서브넷에서 특정 사용자(그룹에 속하지 않음)를 허용하고 외부 그룹을 허용합니까? 질문은 매우 구체적입니다!
우리가 원하는 결과: 고객이 자신의 홈/루트에 로그인할 수 있는 외부 SSH/sftp 연결입니다. 하지만 직원들이 외부에서 액세스하는 것을 원하지 않고 내부 서브넷에서만 액세스할 수 있습니다. 직원들이 폴더 구조에 더 잘 액세스할 수 있기 때문입니다.
이것은 우리가 사용해 온 구성이지만 문서가 충분히 자세하지 않기 때문에 작동하지 않고 의미가 없습니다.
1. 이 구성에서는 내부적으로 bob 및 trev를 허용하고 sftpgroup을 허용해야 합니다. 대신 sftpgroup은 허용하지만 다른 사용자는 허용하지 않습니다. (bob trev는 그룹에 없습니다)
Match Address 192.168.1.0/24
AllowUsers bob trev
Match All
AllowGroups sftpgroup
PermitRootLogin no
설명서에 따르면 이러한 명령은 DenyUsers, AllowUsers, DenyGroups, AllowGroups 순서로 처리됩니다.
2. 따라서 이 순서대로 처리되면 다음 명령은 작동해야 하지만 작동하지 않습니다(bob 및 trev에는 액세스 권한이 없음). 이후 명령이 이전 명령을 덮어쓰지 않으면 순서대로 처리하는 것이 무슨 의미가 있습니까? 어디. 모두 거부하고 특정 사용자만 허용해야 하는 것 아닌가요? 그러나 그것은 진실이 아니다. 나는 이것이 버그가 있거나 문서가 불완전하다고 생각합니다.
DenyUsers *
Match Address 192.168.1.0/24
AllowUsers bob trev
Match All
PermitRootLogin no
match address 명령이 작동하는지 테스트했습니다.
답변1
이는 질문에서 원하는 결과를 제공하는 sshd_config에 대한 구성 편집입니다. 내부적으로는 특정 사용자, 외부적으로는 특정 그룹을 허용하지만 내부 그룹과 특정 사용자는 외부적으로 거부합니다.
Match Address 192.168.1.0/24
AllowUsers bob trev
Match Address *,!192.168.1.0/24
AllowGroups sftpgroup
Match All
PermitRootLogin no