본문 바로가기
Infra2026년 6월 20일2분 읽기

SSH 키 인증과 서버 접속 보안 하드닝

YS
김영삼
조회 1093
SSH 키 인증과 서버 접속 보안 하드닝

핵심 요약

SSH 서버 보안의 기본은 ① 키 인증으로 전환하고 비밀번호 로그인 끄기, ② root 직접 로그인 금지, ③ 접속 가능한 네트워크/사용자 제한, ④ fail2ban으로 무차별 대입 차단이다. 키 인증만 켜도 자동화 공격의 대부분이 무력화된다.

1. 핵심 설정(sshd_config)

PasswordAuthentication no   # 키만 허용
PermitRootLogin no          # root 직접 금지
PubkeyAuthentication yes
AllowUsers deploy           # 허용 사용자 한정

변경 후 sshd -t로 문법 검사하고 새 세션으로 접속 확인 후 기존 세션을 닫는다.

2. 추가 방어

조치효과
fail2ban반복 실패 IP 차단
접속망 제한(Match Address)내부망만 허용
키 패스프레이즈키 유출 시 2차 방어

3. 함정

  • 비밀번호 인증을 끄기 전에 키 접속을 먼저 검증 — 안 그러면 잠긴다
  • 설정 변경 후 기존 세션을 유지한 채 새 세션으로 테스트
  • 키는 600 권한, authorized_keys는 644 — 권한 틀리면 무시됨

자주 묻는 질문

비밀번호 로그인을 끄면 잠길까 봐 무서워요.

먼저 키로 접속이 되는지 확인한 뒤, 기존 SSH 세션을 열어둔 채 새 세션으로 테스트하세요. 문제가 있으면 열린 세션에서 되돌릴 수 있습니다.

키를 넣었는데도 비밀번호를 물어봐요.

대개 권한 문제입니다. ~/.ssh는 700, authorized_keys는 600~644여야 하며, 소유자도 본인이어야 합니다. 서버 로그(/var/log/auth.log)에서 원인을 확인하세요.

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록