SSH - 특정 사용자별 접근 설정
/etc/ssh/sshd_config 설정 방법
# AllowGroups : 접속을 허용할 그룹 # AllowUsers : 접속을 허용할 유저 # DenyGroups : 접속을 차단할 그룹 # DenyUsers : 접속을 차단할 유저 # user1 과 user2를 차단하고 싶을경우 (그외에는 모두 허용) DenyUsers user1 user2 # user1과 user2 만 허용하고 싶은경우 (그외에는 모두 차단) AllowUsers user1 user2 # 많은 유저 ( user001 ~ user100 ) 계정을 차단하고싶을 경우 와일드카드를 사용할수 있다. DenyUsers user* # 위의 예와 같이 Allow와 Deny의 경우 암묵적으로 그외의 계정에 대해서 설정이 되기 때문에 두 키워드를 혼용해서 사용하지 말고 한가지 형태로 사용하는것을 권장한다.
/etc/pam.d/sshd 설정 방법
/etc/pam.d/sshd
에 설정하는경우 sshd에 대해서만 설정이 되며 telnet, console등 모든 로그인에 적용하고자 하면 /etc/pam.d/system-auth
에 적용하면 된다.
#%PAM-1.0 auth required pam_listfile.so item=user sense=deny file=/etc/ssh/sshusers onerr=succeed # 맨 윗 부분에 이부분을 추가해주고 /etc/ssh/sshusers를 생성해준다. (파일 경로나 이름은 마음대로 설정하면 된다.)
# ssh 접속을 제한 할 사용자를 1줄씩 입력해준다. user1 user2
/etc/pam.d/system-auth 설정 방법
auth required pam_env.so auth required pam_listfile.so # <<== new line add auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid>= 500 quiet auth required pam_deny.so
사용할수 있는 옵션은 아래와 같다
# 그룹단위로 설정할경우 auth required pam_listfile.so onerr=fail item=group sense=allow file=/etc/login.group # 사용자단위로 설정할 경우 auth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/login.group
- onerr = fail : 오류 발생시 수행 할 작업 (파일 또는 사용중인 디스크 I/O를 열 수 없음). 문제가있는 경우 문제가 해결 될 때까지 로그인이 거부됩니다.
- item = group : 그룹 이름 확인 (user : 사용자에 대한 체크)
- sense = allow : 그룹 이름이 /etc/login.group 파일에서 발견되면 진행할 인증 요청 (deny : 해당 목록에 들어있으면 거부)
- file = /etc/login.group : 그룹 / 사용자가 나열된 파일. 이 파일에는 그룹 / 이름별로 한 행이 들어 있습니다. 그룹 이름이 발견되고 sense = allow 인 경우 PAM_SUCCESS가 리턴되어 권한 요청이 성공하게됩니다.
참조링크
로그인하면 댓글을 남길 수 있습니다.