가장 일반적인 방법은 SSH 접속을 제한하는 것입니다. 대부분의 원격 접속은 SSH를 통해 이루어지기 때문에, SSH 설정을 통해 다중 사용자 접속을 제한할 수 있습니다.
/etc/ssh/sshd_config
파일을 수정하여 특정 사용자만 SSH 접속을 허용할 수 있습니다.
AllowUsers
지시자를 사용하여 허용할 사용자 목록을 지정합니다.
sudo nano /etc/ssh/sshd_config
파일에 다음 줄을 추가하거나 수정합니다.
AllowUsers user1 user2
위 설정은 user1
과 user2
만 SSH로 접속할 수 있도록 합니다.
설정 변경 후 SSH 서비스를 재시작합니다.
sudo systemctl restart sshd
DenyUsers
지시자를 사용하여 특정 사용자의 SSH 접속을 차단할 수 있습니다.
DenyUsers user3 user4
위 설정은 user3
과 user4
의 SSH 접속을 차단합니다.
그룹을 기반으로 SSH 접속을 제한하려면 AllowGroups
또는 DenyGroups
지시자를 사용할 수 있습니다.
AllowGroups sshusers
위 설정은 sshusers
그룹에 속한 사용자만 SSH로 접속할 수 있도록 합니다.
SSH에서 최대 동시 접속 수를 제한하려면 /etc/ssh/sshd_config
파일에서 MaxSessions
및 MaxStartups
지시자를 사용할 수 있습니다.
MaxSessions 2
MaxStartups 3
MaxSessions 2
: 한 사용자가 동시에 가질 수 있는 최대 세션 수를 제한합니다.MaxStartups 3
: 시스템에 동시에 접속할 수 있는 최대 SSH 접속 수를 제한합니다./etc/passwd
파일 수정사용자의 로그인 셸을 /sbin/nologin
또는 /bin/false
로 설정하여 셸 접근을 차단할 수 있습니다.
sudo usermod -s /sbin/nologin user3
위 명령은 user3
사용자의 셸을 /sbin/nologin
으로 변경하여 해당 사용자가 SSH로 접속하는 것을 차단합니다.
/etc/security/limits.conf
설정limits.conf
파일을 수정하여 각 사용자의 자원 사용을 제한할 수 있습니다.
sudo nano /etc/security/limits.conf
파일에 다음 내용을 추가합니다.
user1 hard nproc 10
위 설정은 user1
사용자가 동시에 실행할 수 있는 최대 프로세스 수를 10개로 제한합니다.
방화벽(예: iptables
, ufw
)을 사용하여 특정 IP 주소나 네트워크 대역에서만 SSH 접속을 허용하거나 차단할 수 있습니다.
sudo ufw allow from 192.168.1.0/24 to any port 22
위 명령은 192.168.1.0/24
네트워크 대역에서만 SSH 접속을 허용합니다.
이러한 제한 방법을 통해 시스템 보안을 강화하고 관리자가 시스템 자원을 효율적으로 활용할 수 있도록 할 수 있습니다.