본문 바로가기

리눅스

[draft] 리눅스에서 SSH 액세스 권한 부여하기

728x90

리눅스에서 SSH 액세스 권한 부여하기

SSH 접속을 특정 사용자나 그룹에 제한하는 것은 보안을 강화할 수 있습니다.

액세스 허용/거부 설정

  • AllowUsers : 지정된 사용자만 접속을 허용합니다.
  • DenyUsers : 지정된 사용자의 접속을 거부합니다.
  • AllowGroups : 지정된 그룹에 속한 사용자만 접속을 허용합니다.
  • DenyGroups : 지정된 그룹에 속한 사용자의 접속을 거부합니다.

1. SSH 액세스 허용/거부 설정

특정 사용자 또는 그룹에 대한 SSH 액세스 허용

sshd_config 파일을 사용하여 특정 사용자 또는 그룹에 대해 SSH 액세스를 허용할 수 있습니다.

vim /etc/ssh/sshd_config

특정 사용자 허용(AllowUsers 지시자 추가)

  • user1과 user2만 SSH로 로그인할 수 있도록 허용합니다.
AllowUsers user1 user2

특정 그룹 허용(AllowGroups 지시자 추가)

  • sshusers 그룹에 속한 사용자만 SSH로 로그인할 수 있습니다.
AllowGroups sshusers

특정 사용자 또는 그룹에 대한 SSH 액세스 거부

sshd_config 파일에서 특정 사용자 또는 그룹의 SSH 액세스를 거부할 수도 있습니다.

 

특정 사용자 거부(DenyUsers 지시자 추가)

  • user3과 user4는 모든 IP에서 SSH로 로그인할 수 없습니다.
DenyUsers user3 user4

특정 그룹 거부(DenyGroups 지시자 추가)

  • sshblock 그룹에 속한 사용자들은 SSH로 로그인할 수 없습니다.
DenyGroups sshblock

2. SSH 액세스 권한 부여를 위한 추가 방법

특정 IP에서만 허용

AllowUsers user1@192.168.1.100

모든 사용자 허용

AllowUsers *

특정 패턴의 사용자 허용

AllowUsers user*

IP 주소와 호스트 이름을 기반으로 허용 또는 거부

AllowUsers user1@192.168.1.*
DenyUsers user2@*
728x90

추가 설정

  • PasswordAuthentication : 암호 인증을 비활성화하고 SSH 키를 사용하도록 설정합니다.
PasswordAuthentication no
  • PermitRootLogin : root 사용자의 직접 로그인을 허용하거나 금지합니다.
PermitRootLogin no

SSH 서비스 재시작

sudo systemctl restart sshd

3. 특정 사용자 및 그룹에 대한 접근 제어 예시

user1과 user2만 허용하고 user3은 모든 IP에서 차단됩니다.

AllowUsers user1 user2
DenyUsers user3

sshusers 그룹에 속한 사용자만 SSH 접속을 허용합니다.

  • 그룹에 사용자 추가
sudo usermod -aG sshusers user1
  • 그룹 설정
AllowGroups sshusers

sshd 서비스를 재시작

sudo systemctl restart sshd

 

SSH 액세스 제어를 효과적으로 관리할 수 있습니다.

 

728x90