목표와 작업 순서
관리자는 키로 자신의 계정에 로그인하고 필요할 때 sudo를 사용해야 합니다. 이렇게 하면 누가 무엇을 했는지 기록이 남고 암호 추측을 제한할 수 있습니다. 순서가 중요합니다. 먼저 새로운 접근 방식이 작동하도록 설정하고 테스트한 다음, 마지막에 root를 제한하세요. 문제가 생길 경우에 대비해 제공업체의 콘솔을 이용할 수 있도록 해 두세요.
계정 생성 및 키 설치
계정을 만들고 해당 공개 키를 추가한 뒤 권한을 엄격하게 설정하세요. sshd는 다른 사람이 쓸 수 있는 키 파일을 무시하기 때문입니다. 개인 키는 절대 서버에 복사하지 마세요. Red Hat 계열 시스템에서는 sudo 그룹 대신 wheel 그룹을 사용하세요.
sudo adduser admin1
sudo usermod -aG sudo admin1
sudo install -d -m 700 -o admin1 -g admin1 /home/admin1/.ssh
sudo install -m 600 -o admin1 -g admin1 ~/admin1.pub /home/admin1/.ssh/authorized_keys두 번째 창에서 테스트
현재 세션을 열어 둔 상태에서 다른 터미널로 새 로그인을 테스트하세요. 그룹에 속한다는 사실만으로 sudo가 작동한다고 볼 수는 없습니다. 이를 결정하는 것은 sudoers의 규칙입니다. sudo -l로 확인하세요.
ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 admin1@server.example
sudo -l
sudo -vroot 로그인 제한
PermitRootLogin prohibit-password는 root의 키 로그인만 허용하고, no는 SSH를 통한 root 로그인을 완전히 차단합니다. 변경 사항을 별도 파일에 넣으세요. 저장할 디렉터리는 /etc/ssh/sshd_config.d. 대부분의 옵션에 대해 sshd는 처음 발견한 값을 사용하므로 먼저 읽는 파일이 우선할 수 있습니다. 따라서 파일을 읽는 대신 sshd -T로 실제 적용되는 값을 확인하세요. 이전 세션을 닫기 전에 새 로그인을 테스트하세요.
echo 'PermitRootLogin no' | sudo tee /etc/ssh/sshd_config.d/50-root.conf
sudo sshd -t
sudo systemctl reload ssh
sudo sshd -T | grep -iE '^(permitrootlogin|passwordauthentication) '암호 로그인과 피해야 할 설정
필요한 모든 계정에 테스트를 마친 키가 준비된 후에만 PasswordAuthentication을 끄세요. 여러 사람이 하나의 계정을 공유하면 다른 사람에게 영향을 주지 않고 한 사람의 접근 권한만 취소할 수 없으므로 공유를 피하세요. 계정 전체에 암호 없는 sudo를 허용하면 키 하나만 도난당해도 완전한 제어 권한을 빼앗길 수 있습니다.
CH-J Server Manager의 계정 관리
Users 모듈은 활성 SSH 세션을 통해 계정, 그룹, SSH 키와 SSH 접근 권한을 관리합니다. sudoers를 변경하거나 NOPASSWD를 설정하지 않으며, sudo -l을 통해 확인한 실제 sudo 상태를 보고합니다. root 계정은 삭제할 수 없고, root의 암호 로그인을 허용하려면 추가 확인이 필요하며 키만 사용하는 방식이 권장됩니다. SSH 접근 변경은 sshd -T와 새 SSH 로그인으로 검증하며, 검사에 실패하거나 접속할 수 없게 될 경우 이전 설정이 자동으로 복원됩니다. sudo 없이는 이 모듈이 읽기 전용으로 작동합니다.