유틸리티 소개

SSH 키 vs 비밀번호 서버 접속에 뭐가 더 안전한가

개발 업무 하면서 서버 접속할 일이 많다. 처음에는 비밀번호로 로그인했는데, 선배가 SSH 키 쓰라고 했다. 비밀번호 생성기로 아무리 복잡하게 만들어도 키 인증보다는 약하다고.

SSH 키 인증이란

공개키/개인키 쌍을 사용하는 인증 방식이다. 개인키는 내 컴퓨터에만 있고, 공개키를 서버에 등록해둔다. 로그인할 때 키로 암호화된 데이터를 주고받으면서 인증한다. 비밀번호가 네트워크로 전송되지 않아서 도청에 안전하다.

비밀번호 인증의 취약점

비밀번호 인증은 무차별 대입 공격(brute force)에 취약하다. 해커가 자동 프로그램으로 수백만 번 시도하면 언젠가 뚫린다. 물론 복잡한 비밀번호는 시간이 오래 걸리지만, 완전히 안전하진 않다.

SSH 키의 장점

키 파일이 없으면 로그인 자체가 불가능하다. 비밀번호처럼 추측하거나 대입할 수가 없다. 그래서 보안이 중요한 서버는 대부분 키 인증만 허용하고 비밀번호 로그인을 막아놓는다.

개인키 보호도 중요

SSH 키 쓴다고 방심하면 안 된다. 개인키 파일이 유출되면 끝이다. 개인키에 비밀번호(passphrase)를 걸어두고, 파일 권한도 본인만 읽을 수 있게(600) 설정해야 한다.

SSH 키 생성 팁

ed25519 알고리즘 권장. 강력하고 키 파일도 작다. 비밀번호 인증 비활성화하고 키 인증만 허용하면 보안이 확 올라간다.

마무리 정리

비밀번호 생성기로 복잡하게 만들고, 관리 앱에 저장하고, 2단계 인증 걸어두는 것. 이 세 가지가 개인 보안의 기본이다. 귀찮아도 지금 시작하면 나중에 편하다. 한 번 털리면 그 수습이 훨씬 힘들다.