본문으로 건너뛰기

공개키 쌍 생성

Key Pair Generator

RSA·ECDSA·Ed25519 키 쌍을 만들고 PEM·JWK·OpenSSH 형식으로 내보냅니다.

브라우저에서 공개키·개인키 쌍을 만들고 OpenSSH, PEM(SPKI와 PKCS#8), JWK로 내보냅니다. Ed25519, ECDSA P-256·P-384, RSA 2048·3072·4096을 브라우저의 WebCrypto가 직접 생성합니다.

🔒 브라우저 안에서만 처리rsaed25519keyscrypto
알고리즘

작고 빠르고 현대적입니다. 2014년 이후 SSH의 기본값입니다.

OpenSSH 공개키 줄 끝에 붙습니다.

키는 이 브라우저의 WebCrypto(crypto.subtle.generateKey)가 이 탭에서 만들고, 탭 밖으로 나가지 않습니다. 전송하지도, 기록하지도, 저장하지도 않습니다. 출력 형식은 이 프로젝트의 테스트에서 OpenSSH 자신과 대조해 확인합니다. 가능하다면 개인키를 보관할 그 기계에서 생성하세요. 브라우저 탭에 존재한 키는 그 탭의 메모리에 존재한 것입니다.

사용 방법

  1. 알고리즘을 고릅니다

    새로 만드는 것이라면 Ed25519입니다. 작고 빠르며 2014년 이후 SSH의 기본값입니다. 상대 쪽이 요구할 때 ECDSA나 RSA를 씁니다.

  2. 생성하고 형식을 고릅니다

    OpenSSH는 `authorized_keys` 한 줄과 `openssh-key-v1` 개인키를 줍니다. PEM은 SPKI와 PKCS#8을, JWK는 JOSE 라이브러리용 형태를 줍니다. 같은 키의 세 가지 표기입니다.

  3. 저장한 뒤에 암호구를 겁니다

    개인키는 암호 없이 내보냅니다. 로컬에서 `ssh-keygen -p -f id_key`로 암호구를 걸고, ssh가 그 파일을 아예 쓰게 하려면 `chmod 600`을 해야 합니다.

자주 묻는 질문

브라우저에서 개인키를 만들어도 되나요?

키는 탭 밖으로 나가지 않습니다. WebCrypto가 만들고, 전송하지도 기록하지도 저장하지도 않습니다. 다만 브라우저 탭에 존재한 키는 그 탭의 메모리에 존재한 것이고, 그건 셸보다 넓은 표면입니다. 운영을 지키는 키라면 그 키를 보관할 기계에서 만드세요.

Ed25519가 왜 가끔 안 보이나요?

그 브라우저의 WebCrypto가 구현하지 않았기 때문입니다. 지원이 늦고 고르지 않게 들어왔습니다. 페이지가 로드할 때 확인해서, 실패할 선택지를 내놓는 대신 감춥니다. 널리 지원되는 가장 가까운 대안은 ECDSA P-256입니다.

RSA는 2048과 4096 중 무엇을 쓰나요?

2048도 여전히 괜찮고 생성과 사용이 훨씬 빠릅니다. 4096은 아무도 크기를 가늠할 수 없는 미래에 대한 여유를 주는 대신 핸드셰이크 시간에서 실제 비용을 치릅니다. 호환성 때문에 RSA를 고르는 거라면 상대가 원한 것도 대개 2048입니다.

지문은 어디서 나온 값인가요?

OpenSSH 형식 공개키의 SHA-256 지문입니다. `ssh-keygen -lf`가 찍는 것과 같은 문자열이라 그대로 비교할 수 있습니다.

이 도구로 이어지는 것

다음 단계

이 도구의 결과를 그대로 받을 수 있는 도구들입니다.