Skip to content
VDS · 보안

비밀번호로 root 로그인 비활성화하기

비밀번호로 root 로그인이 왜 위험한지, PermitRootLogin 옵션이 어떻게 다른지, 머신 접근을 잃지 않고 비활성화하는 방법을 알아봐요.

업데이트 2026년 8월 23일

root라는 이름은 누구나 알고 있어요. 모든 머신에 존재하고 모든 권한을 가지고 있죠. 무차별 대입 공격자는 이제 비밀번호 하나만 알아내면 돼요. root의 비밀번호 로그인을 비활성화하면 매개변수 하나로 공격 유형 전체를 없앨 수 있어요.

준비

먼저 대비책을 만들고, 그다음에 차단해요. 순서는 하고 싶은 마음과 반대예요.

  1. sudo 권한이 있는 사용자를 만들어요 — 사용자와 sudo.
  2. 여기에 SSH 키를 추가하고 별도의 터미널 창에서 로그인을 확인해요.
  3. sudo -i가 작동하는지 확인해요.
  4. 이제서야 설정을 변경해요.
ssh artem@<address>
sudo whoami

두 번째 명령이 root를 반환했다면 대비책이 있는 거예요.

설정 옵션

/etc/ssh/sshd_config.d/99-hardening.conf 파일에서:

값의미
PermitRootLogin yes비밀번호를 포함해 모든 것이 허용돼요. 아무도 이대로 두지 않아요
PermitRootLogin prohibit-password키는 작동하고 비밀번호는 거부돼요. 합리적인 최소 설정이에요
PermitRootLogin forced-commands-only사전 정의된 명령만 허용하며, 자동화에 사용해요
PermitRootLogin noroot는 SSH로 전혀 로그인할 수 없어요. 가장 엄격한 옵션이에요

권장 조합:

PermitRootLogin prohibit-password
PasswordAuthentication no

두 번째 매개변수는 root뿐만 아니라 모든 사용자의 비밀번호 로그인을 한 번에 차단해요. 자세한 내용은 SSH 강화를 참고하세요.

적용 및 확인

sudo sshd -t
sudo systemctl restart ssh
sudo sshd -T | grep -i permitrootlogin

다른 창에서 root가 더 이상 비밀번호를 받지 않는지, 그리고 사용자가 키로 로그인되는지 확인해요:

ssh root@<address>
ssh artem@<address>

sshd를 재시작해도 현재 세션은 끊기지 않아요 — 확인을 마칠 때까지 열어 두세요.

여전히 사용할 수 있는 것

이 변경은 SSH에만 영향을 줘요. root 비밀번호는 여전히 필요하고 여전히 작동해요:

  • 머신 콘솔에서, 두 탭 모두 — 텍스트 탭과 “Screen” 탭;
  • 복구 디스크를 통한 로그인 시;
  • 시스템 내부의 su - 명령에 사용돼요.

비밀번호 자체는 암호화되어 저장되며 /hosting/vds/m/<id> 패널의 “Access” 탭에 있는 버튼으로 확인할 수 있어요. 이것이 비상 경로이므로 잃어버리면 안 돼요 — 백업 키와 비밀번호를 참고하세요.

흔한 실수

실수결과해결책
root를 비활성화했지만 sudo 권한이 있는 사용자를 만들지 않음아무도 머신을 관리할 수 없음패널 콘솔을 사용해 사용자를 생성하세요
키가 root에만 존재함새 사용자가 로그인할 수 없음authorized_keys를 복사하고 권한을 수정하세요
설정이 다른 파일에 의해 재정의됨규칙이 적용되지 않음파일이 아니라 sshd -T를 확인하세요
차단이 콘솔에도 적용될 것이라 기대함완전한 잠금에 대한 잘못된 안심콘솔은 설계상 항상 작동해요

옆 창에서 대체 로그인을 확인하지 않고 root 로그인을 비활성화하지 마세요. 확인은 10초면 걸리지만, 콘솔을 통한 복구는 훨씬 오래 걸려요.