왜 SSH의 root 로그인을 비활성화해야 하나?
root는 모든 공격자가 이미 알고 있는 유일한 사용자 이름입니다. 인터넷을 스캔하는 봇은 당신의 사용자 이름을 추측하지 않습니다 ── 그저 root를 향해 비밀번호를 하나씩 두드려댑니다. root의 SSH 로그인을 비활성화하면 이 부류의 공격은 통째로 작동하지 않게 되고, 공격자는 이제 사용자 이름과 인증 방식을 둘 다 맞혀야 합니다. 대신 일반 사용자로 로그인하고 root가 필요할 때 sudo를 사용합니다. 이것은 가성비가 가장 높고 수고가 가장 적은 SSH 하드닝 중 하나입니다.
1단계 ── 먼저 sudo 사용자를 확보하기
다른 방법으로 들어갈 수 있게 되기 전에는 root를 비활성화하지 마세요. 그렇지 않으면 자신을 잠가버리게 됩니다. sudo 권한을 가진 일반 사용자를 만듭니다.
# 以 root 身份,建用户并给 sudo
adduser alice
usermod -aG sudo alice # Debian/Ubuntu
# (RHEL/Fedora:usermod -aG wheel alice) 그런 다음 별도의 세션에서 그 사용자로 로그인할 수 있고 sudo -v를 실행할 수 있는지 확인합니다. 그것이 작동한 후에만 계속 진행하세요.
2단계 ── 그 사용자에게 키를 설정하기(권장)
온 김에 새 사용자에게 키 인증을 설정하세요 ── 이것이야말로 진짜 보안상의 이득이며, root만 비활성화하는 것보다 효과가 큽니다. 공개 키를 /home/alice/.ssh/authorized_keys에 추가합니다(TermAI 같은 모바일 클라이언트가 대신 배포해 줄 수 있습니다). SSH 키 vs 비밀번호를 참고하세요.
3단계 ── root 로그인 비활성화하기
/etc/ssh/sshd_config에서 다음과 같이 설정합니다.
PermitRootLogin no 그런 다음 SSH를 재시작합니다:sudo systemctl restart ssh. 현재 세션을 열어 둔 채로, 새 연결에서 여전히 당신의 사용자로 로그인할 수 있는지 ── 그리고 ssh root@host가 이제 거부되는지 확인합니다.
휴대폰에서 하기
이 모든 것은 모바일 SSH 클라이언트에서 할 수 있습니다:SFTP나 nano로 sshd_config를 편집하고, 터미널에서 사용자 생성/sudo 명령을 실행하고, 저장된 연결의 사용자 이름을 root에서 새 사용자로 변경합니다. 당신의 배포판에 맞는 정확한 usermod 그룹이 확실하지 않다면 TermAI 어시스턴트에게 물어보세요 ── 세션으로부터 당신이 Debian인지 RHEL인지 파악해 올바른 명령을 제시합니다.
하드닝 체크리스트의 나머지
root 비활성화는 다른 기본 항목들과 자연스럽게 짝을 이룹니다. 영향이 큰 순서로 나열합니다.
- 키 +
PasswordAuthentication no── 가장 큰 이득(키 vs 비밀번호). - root 로그인 비활성화 ── 이 글.
- fail2ban ── 반복하는 침입자를 자동 차단.
- Tailscale/WireGuard 뒤에 두기 ── 아예 SSH를 공개로 노출하지 않기.
- 선택적으로 포트 변경 ── 로그를 조용하게 하기 위해(SSH 포트를 바꿔야 할까?).
FAQ
SSH의 root 로그인을 어떻게 비활성화하나요?/etc/ssh/sshd_config에서 PermitRootLogin no를 설정하고 SSH를 재시작합니다 ── 로그인할 수 있는 sudo 사용자를 만든 후에.
제가 잠겨버리지 않을까요?
sudo 사용자 단계를 건너뛴 경우에만 그렇습니다. root를 비활성화하기 전에 별도의 세션에서 sudo 권한을 가진 일반 사용자를 만들고 테스트하세요.
root를 비활성화하면서 키도 써야 하나요?
네 ── 둘은 상호 보완적입니다. 키는 비밀번호 공격을 막고, root 비활성화는 모두가 노리는 유일한 사용자 이름을 제거합니다.
핵심 요약
- 이유:
root는 누구나 노리는 브루트포스 표적;비활성화하면 그 공격을 막는다 - 방법:sudo 사용자 생성 → 테스트 →
PermitRootLogin no→ SSH 재시작 - 잠기지 않기:먼저 별도 세션에서 sudo 사용자가 작동하는지 확인
- 짝지을 것:키 인증 +
PasswordAuthentication no
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.