반응형
PuTTYgen vs OpenSSH
보통 SSH 키를 생성하는 방법에는 PuTTYgen을 사용하거나 OpenSSH를 사용하는 방법이 있다. 생성한 키는 본질적으로 동일한 알고리즘(예: RSA, Ed25519, ECDSA 등)을 기반으로 생성되므로 암호학적 속성은 동일하다. 그러나 키의 형식과 표현 방식에서 차이가 있다. 하지만 걱정하지 말자 두 결과물 간에 호환이 가능하기 때문에 어느 쪽으로 만들던지 상관은 없다.
파일 형식
- PuTTYgen 키 형식
- PuTTYgen은 기본적으로 PPK(PuTTY Private Key) 형식을 사용한다.
- PPK는 PuTTY 및 관련 도구에서 사용하기 위해 설계된 독자적인 바이너리 형식이다.
- 개인 키와 공개 키 정보를 함께 저장하며, OpenSSH에서 바로 사용할 수 없다.
- OpenSSH 키 형식
- OpenSSH는 텍스트 기반 형식으로 키를 저장한다.
- 개인 키는 PEN(Private Enhanced Mail) 형식 또는 OpenSSH 고유의 형식으로 저장되며, 공개 키는 OpenSSH 형식으로 저장된다.
- OpenSSH 키는 대부분의 SSH 클라이언트 및 서버에서 바로 사용할 수 있다.
확장자
- PuTTYgen
- 개인 키: .ppk (PuTTY 전용)
- 공개 키: .pub 형식으로 내보낼 수 있음.
- OpenSSH
- 개인 키: 확장자 없음 (예: id_rsa)
- 공개 키: .pub (예: id_rsa.pub)
변환하는 방법
- PuTTYgen에서 OpenSSH로 변환
- PuTTYgen에서 키를 생성한 후, Conversions -> Export OpenSSH Key를 선택하여 OpenSSH 호환 키로 변환
- 공개 키는 텍스트 형식으로 내보내어 OpenSSH와 호한이 가능하다.
- OpenSSH에서 PuTTYgen으로 변환
- OpenSSH로 생성한 .PEM 키를 PuTTYgen에서 불러온 후에 .ppk 형식으로 저장한다.
키 형식 예제
- PuTTYgen 키 형식 (PPK)
PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: my-key
Public-Lines: 4
AAAAB3NzaC1yc2EAAAABIwAAAQEArkl45mv5...
Private-Lines: 8
AAABBBCCDDEE...
Private-MAC: f2db7a9ef1e2...
- OpenSSH 키 형식
개인 키(private key)
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAA...
-----END OPENSSH PRIVATE KEY-----
공개 키(public key)
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArkl45mv5... user@host
정리하자면
함께 읽으면 좋은 글
'프로그래밍' 카테고리의 다른 글
PuTTYgen으로 SSH 키 발급해서 우분투 로그인하기 (0) | 2025.01.17 |
---|---|
더 나쁜 것이 더 좋습니다? Worse is better (0) | 2025.01.13 |
C# Web API 구조 - 비동기, 멀티스레드, 쓰레드 풀 (1) | 2025.01.03 |
도메인 주도 개발(Domain-Driven Development) 모델과 모델링 (1) | 2024.11.20 |
/**/* 은 무슨 뜻일까? Glob 패턴에 대해서 알아보자 (1) | 2024.10.23 |
댓글