Linux / 명령어 / ssh-keygen - SSH 키 쌍 생성과 지문 확인
ssh-keygen은 SSH 인증에 사용하는 개인키와 공개키 쌍을 만들고 지문을 확인합니다. 개인키는 자신의 컴퓨터에 안전하게 보관하고 공개키만 서버에 등록합니다.
ssh-keygen 명령어란?
공개키 인증에서 개인키는 서명에 사용되고 서버는 등록된 공개키로 이를 검증합니다. id_ed25519와 id_ed25519.pub처럼 공개키에는 보통 .pub가 붙습니다. 키 지문은 키 내용을 짧게 식별하는 값이며, 생성 시 암호문구(passphrase)를 설정하면 개인키 파일 유출에 대한 방어층이 됩니다.
기본 문법
ssh-keygen [옵션]
설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man ssh-keygen으로 현재 시스템의 설명을 확인하세요.
사용 예제
Ed25519 키 쌍 만들기
기존 키를 덮어쓰지 않도록 새 파일명을 지정하고 암호문구를 설정합니다.
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_work -C 'user@example.com'
공개키 지문 확인
서버에 등록할 키가 의도한 키인지 비교합니다.
ssh-keygen -lf ~/.ssh/id_ed25519_work.pub
개인키에서 공개키 재생성
공개키 파일을 잃어버렸을 때 개인키를 외부에 노출하지 않고 공개키를 출력합니다.
ssh-keygen -y -f ~/.ssh/id_ed25519_work
생성한 키의 지문 확인하기
키를 만든 뒤에는 공개키 파일의 지문을 조회해 서버에 등록하려는 키가 맞는지 확인할 수 있습니다. 실제 지문은 키마다 고유합니다.
ssh-keygen -lf ~/.ssh/id_ed25519_work.pub
출력 형식 예시(지문은 생략한 설명용 값):
256 SHA256:... user@example.com (ED25519)
앞의 256은 키 크기, 괄호 안은 키 유형입니다. 기존 파일 경로에 새 키를 만들면 이전 개인키가 덮어써질 수 있고, 그 키를 쓰던 서버에 접속하지 못할 수 있습니다. 공개키만 서버에 배포하며 개인키는 이메일·메신저·웹 폼에 업로드하지 마세요.
주요 옵션과 형식
| 옵션·형식 | 설명 |
|---|---|
-t 유형 |
ed25519 등 생성할 키 유형을 지정합니다. |
-f 파일 |
키를 저장하거나 읽을 파일을 지정합니다. |
-C 주석 |
공개키에 식별용 주석을 붙입니다. |
-l |
키 파일의 지문을 표시합니다. |
-y |
개인키에서 공개키를 출력합니다. |
-p |
기존 개인키의 암호문구를 변경합니다. |
사용할 때 주의할 점
기존 키 경로를 재사용하면 예전 공개키로 접속하던 서버에 로그인하지 못할 수 있습니다. 생성 전 해당 파일이 있는지 확인하고 덮어쓰기 경고를 읽으세요. 개인키는 이메일·메신저·웹 페이지에 올리지 말고 권한과 백업을 관리합니다. 암호문구를 잃으면 보통 키를 복구할 수 없으므로 새 키 쌍을 발급하고 서버의 공개키를 교체해야 합니다.
자주 묻는 질문
서버에 어떤 파일을 복사해야 하나요?
확장자가 .pub인 공개키만 등록합니다. 확장자 없는 개인키는 로컬에 보관해야 합니다.
공식 문서
옵션의 정확한 동작과 구현별 차이는 ssh-keygen 관련 공식 문서에서 확인할 수 있습니다.









