목차

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

참조링크