비밀번호는 무차별 대입 공격에 약합니다.
SSH 키 인증은 「공개키 암호」로 훨씬 안전 + 자동화에 편리(스크립트가 비밀번호 안 입력해도 됨).
키 생성.
ssh-keygen -t ed25519 -C "이메일" — 모던 ed25519 알고리즘 권장(또는 RSA 4096).
패스프레이즈는 선택 — 추가 보안.
~/.ssh/id_ed25519(개인키, 비밀)와 ~/.ssh/id_ed25519.pub(공개키) 생성.
공개키를 서버에.
ssh-copy-id user@server — 공개키를 서버의 ~/.ssh/authorized_keys에 자동 추가.
또는 수동 — 공개키 내용을 그 파일에 한 줄로 추가.
권한 — ~/.ssh는 700, authorized_keys는 600.
이후.
ssh user@server — 비밀번호 없이 즉시 로그인.
키가 자동으로 사용됨.
패스프레이즈가 있으면 처음만 ssh-agent에 로드 — ssh-add 후 같은 세션에서는 자동.
비밀번호 인증 끄기.
/etc/ssh/sshd_config에서 PasswordAuthentication no + PermitRootLogin no.
systemctl restart sshd.
키만 허용 → 무차별 대입 공격 거의 무효.
단, 키 잃어버리면 못 들어가니 키 백업 + 다른 접근 경로 확보 필수.
한 줄 요약
SSH 키 인증 — ssh-keygen으로 키 생성(ed25519 권장), ssh-copy-id로 서버에 공개키 등록.
비밀번호 없이 안전·자동화 편리.
비밀번호 인증 끄기 + 키 백업 필수.
더 알아볼 것
- ssh-agent로 패스프레이즈 자동
- ~/.ssh/config로 호스트 별칭
- Hardware key — YubiKey와 SSH