SSH를 특정 서브넷의 특정 사용자로 제한하는 옵션이 있습니까? 예:[이메일 보호됨]/24를 비활성화해야 합니다.
답변1
응, 그렇지설명서에:
AllowUsers
This keyword can be followed by a list of user name
patterns, separated by spaces. If specified, login is
allowed only for user names that match one of the patterns.
Only user names are valid; a numerical user ID is not
recognized. By default, login is allowed for all users.
If the pattern takes the form USER@HOST then USER and HOST
are separately checked, restricting logins to particular
users from particular hosts. HOST criteria may
additionally contain addresses to match in CIDR
address/masklen format. The allow/deny users directives
are processed in the following order: DenyUsers,
AllowUsers.
....하지만 저는 개인적으로 이것을 사용하지 않을 것입니다. 끊임없이 변화하는 사용자 목록을 유지하는 것은 PITA가 될 것입니다. IMHO 더 나은 접근 방식은 사용자 그룹과 일치 블록을 사용하는 것입니다.
Match 192.168.0.10/24
AllowGroups PrivateSubnetSshUsers
Match 0.0.0.0/0
AllowGroups SshUsers
그런데 SSH를 통해 루트 계정에 직접 액세스를 허용하는 것은 일반적으로 안티 패턴으로 간주됩니다. Openssh에는 이러한 일이 발생하지 않도록 하는 특정 구성 옵션도 있습니다.
(고려할 수 있는 다른 사항은 일치하는 블록과 함께 "AllowGroups root / AllowGroups !root" 또는 "PermitRootLogin yes / PermitRootLogin no"입니다.)